Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess重写条件请求\u文件名_.htaccess_Mod Rewrite - Fatal编程技术网

.htaccess重写条件请求\u文件名

.htaccess重写条件请求\u文件名,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我从第三方(vBSEO)创建的.htaccess文件中包含以下内容: 如果我已经确定第2行中不存在该目录,为什么需要第三行(“如果请求不是此特定目录”)?第二行不是说“如果请求不是目录”吗?第二行的意思确实是“请求的文件名不是物理目录”。然而,第三行表示“请求的文件名不包含任何序列/admincp/或/modcp/etc”。你看,它是一个正则表达式,因为它不使用锚点^(表示字符串的开始)或$(表示字符串的结束),所以它匹配任何只包含这些目录名的字符串 因此.htaccess说,如果不是针对现有资

我从第三方(vBSEO)创建的.htaccess文件中包含以下内容:


如果我已经确定第2行中不存在该目录,为什么需要第三行(“如果请求不是此特定目录”)?第二行不是说“如果请求不是目录”吗?

第二行的意思确实是“请求的文件名不是物理目录”。然而,第三行表示“请求的文件名不包含任何序列/admincp/或/modcp/etc”。你看,它是一个正则表达式,因为它不使用锚点
^
(表示字符串的开始)或
$
(表示字符串的结束),所以它匹配任何只包含这些目录名的字符串


因此.htaccess说,如果不是针对现有资源,并且请求的文件名不在这些目录中,我们应该将所有请求重定向到vbseo.php
/admincp/index.html
不会被重定向(假设index.html存在)。请注意,
/foo/bar/admincp/baz/qux
也不会被重定向。

第二行确实表示“请求的文件名不是物理目录”。然而,第三行表示“请求的文件名不包含任何序列/admincp/或/modcp/etc”。你看,它是一个正则表达式,因为它不使用锚点
^
(表示字符串的开始)或
$
(表示字符串的结束),所以它匹配任何只包含这些目录名的字符串


因此.htaccess说,如果不是针对现有资源,并且请求的文件名不在这些目录中,我们应该将所有请求重定向到vbseo.php
/admincp/index.html
不会被重定向(假设index.html存在)。请注意,
/foo/bar/admincp/baz/qux
也不会被重定向。

前两行确保如果请求是现有文件或目录的名称,则不会将任何请求重定向到vbseo.php。但是,第三行确保请求不会被重定向,即使它们不存在,如果它们包括/(admincp |…)/

不过,更重要的是,第三行允许在vbseo重定向之后提供非文件或目录的资源

RewriteRule ^blogs$ blogorama.php [L]

例如,如果无法通过文件系统访问/blogs/。

如果请求是现有文件或目录的名称,则前两行确保不会将任何请求重定向到vbseo.php。但是,第三行确保请求不会被重定向,即使它们不存在,如果它们包括/(admincp |…)/

不过,更重要的是,第三行允许在vbseo重定向之后提供非文件或目录的资源

RewriteRule ^blogs$ blogorama.php [L]

例如,如果无法通过文件系统访问/blogs/。

那么,如果请求“不针对现有资源”,那么“请求的文件名[不能]位于这些目录中的任何一个”,那么我的问题仍然是:如果请求根本不存在,为什么要确保请求不在这些目录中?而且“/admincp/index.html将不会被重定向”,即使假设index.html不存在。哈哈!是的,我得到一个警告,这个问题已经被浏览了2500次,所以我又看了一遍,忘记了为什么这个答案有意义我也不得不绞尽脑汁考虑措辞。我在想什么。但我是在早上四点写的,所以……好吧,如果请求“不是针对现有资源”,那么“请求的文件名[不能]在这些目录中的任何一个”,所以我的问题仍然是:如果请求根本不存在,为什么要确保请求不在这些目录中?而且“/admincp/index.html将不会被重定向”,即使假设index.html不存在。哈哈!是的,我得到一个警告,这个问题已经被浏览了2500次,所以我又看了一遍,忘记了为什么这个答案有意义我也不得不绞尽脑汁考虑措辞。我在想什么。但是我在早上四点写的,所以。。。