Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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 重写规则中的-是什么意思?_.htaccess_Rewrite - Fatal编程技术网

.htaccess 重写规则中的-是什么意思?

.htaccess 重写规则中的-是什么意思?,.htaccess,rewrite,.htaccess,Rewrite,如果是此规则,则其他重写规则不应适用 因为我们在.htaccess上下文中,所以只有[L]将是无用的 因此,我们需要两件事: 有-标志 将此规则置于.htaccess文件上所有其他重写规则之前 如果以上所有假设都是正确和准确的,我想问: -是什么意思,它在这个上下文中起什么作用 非常感谢。您有以下信息: -(破折号) 破折号表示不应执行任何替换(现有路径未触及地通过)。当需要在不更改路径的情况下应用标志(见下文)时,使用此选项 他们有以下信息: -(破折号) 破折号表示不应执行任何替换(现有路径

如果是此规则,则其他重写规则不应适用

因为我们在.htaccess上下文中,所以只有[L]将是无用的

因此,我们需要两件事:

有-标志

将此规则置于.htaccess文件上所有其他重写规则之前

如果以上所有假设都是正确和准确的,我想问:

-
是什么意思,它在这个上下文中起什么作用

非常感谢。

您有以下信息:

-(破折号)

破折号表示不应执行任何替换(现有路径未触及地通过)。当需要在不更改路径的情况下应用标志(见下文)时,使用此选项

他们有以下信息:

-(破折号)

破折号表示不应执行任何替换(现有路径未触及地通过)。当需要在不更改路径的情况下应用标志(见下文)时,使用此选项


@戴夫,谢谢。我仍然没有把这些点连起来。为什么会在.htaccess上下文中启用真正的[L]用法?换句话说,为什么短跑会做一些只有l才能做的事情呢。手册的解释我不清楚,因为我不是一个熟练的英语读者(重写规则定义了服务器更改URL的方法。当它将URL与模式匹配时,(
^(dir1 | file1)
),它会查看规则的下一部分,以查看它应该如何更改URL。
-
只是告诉服务器不要更改URL。
[L]
(用于“Last”)然后告诉服务器不要再处理任何规则。@Dave Child:嗯……我想我读到的内容可能太多了……
RewriteEngine on rewriteRule a b[L]rewriteRule b c
“大多数人会认为,当请求/a时,内部请求的文件会是/b,因为[L]flag。其实不是。最后一个请求的文件实际上是/c。要了解原因,您需要了解mod_rewrite如何在每个目录上下文中处理请求。”来源:@Dave Child:那么…请确认我的假设是否正确:该规则将应用于/c,因为没有破折号
-
符号,我们将使用b路径,因为它不会被前面的规则(与后面的规则相同)触及?是吗?(如果不是,请深呼吸。:D)恐怕我不知道。我一直使用[L]标志来完成规则的处理。我现在正在阅读文档,但事情还没有变得更清楚!@Dave谢谢。我仍然没有把这些点连接起来。为什么这会在.htaccess上下文中启用真正的[L]用法?换句话说,为什么这个破折号会做[L]这样的事情单独一个人就可以了。由于我不是一个熟练的英语读者,手动解释对我来说并不清楚。:(重写规则定义了服务器更改URL的方法。当它将URL与模式匹配时,(
^(dir1 | file1)
),然后它会查看规则的下一部分,以查看它应该如何更改URL。
-
只是告诉服务器不要更改URL。
[L]
(用于“最后”)然后告诉服务器不要再处理任何规则。@Dave Child:嗯……我想我读到了很多关于重写规则a b[L]的内容rewriteRule b c“大多数人会认为,在请求/a时,内部请求的文件将是/b,因为[L]标志。事实并非如此。最后请求的文件实际上是/c。要理解原因,您需要了解mod_rewrite如何在每个目录上下文中处理请求。”来源:@Dave Child:那么…请确认我的假设是否正确:该规则将应用于/c,因为没有破折号
-
符号,我们将使用b路径,因为它不会被前面的规则(与后面的规则相同)触及?是吗?(如果不是,请深呼吸。:D)恐怕我不知道。我一直使用[L]标志来完成规则的处理。我现在正在阅读文档,但事情还没有变得更清楚!
RewriteRule ^(dir1|file1) - [L]