.htaccess文件重写规则中的连字符

.htaccess文件重写规则中的连字符,.htaccess,.htaccess,我在一个老网站上看到了这条规则,我们的一位老开发者做到了,我从来没有看到过 RewriteEngine On RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ [NC] RewriteCond %{REQUEST_URI} ^/extension1/(.*)$ [OR] RewriteCond %{REQUEST_URI} ^/extension2/(.*)$ [OR] RewriteCond %{REQUEST_URI} ^/extension3/(.*

我在一个老网站上看到了这条规则,我们的一位老开发者做到了,我从来没有看到过

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ [NC]
RewriteCond %{REQUEST_URI} ^/extension1/(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^/extension2/(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^/extension3/(.*)$
RewriteRule ^(.*)$ - [L,R=404]
我看到如果我使用其中一个扩展进入域,它只是404的

我认为,如果它与主机匹配,并且是其中一个扩展,那么它只是404的。直到最后一行,我都懂,因为
-
让我很反感

在上一条规则中,
-
做了什么

谢谢

这个
-
的意思是“传递URI,什么也不做”。它基本上对URI不做任何操作,只应用标志,在本例中,标志返回404

有关更多信息,请参见“-(破折号)”下的

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


非常感谢。我在那里找不到,所以我在这里问,知道有人会回答我。