3

我正在从我们的一位老开发人员所做的旧网站上查看此规则,但我从未见过。

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。我了解最后一行的所有内容,因为-让我失望。

最后一条规则中的-做什么?

谢谢

4

1 回答 1

1

意思是“-通过 URI 并且什么也不做”。它基本上对 URI 没有任何作用,只应用标志,在这种情况下返回 404。

有关详细信息,请参阅“ -(破折号) ”下的mod_rewrite 文档

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

于 2013-09-06T16:23:02.917 回答