连字符.htaccess文件重写规则

时间:2013-09-06 16:14:30

标签: .htaccess

我从旧网站的一个旧网站上查看此规则,我从未见过它。

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。我理解到最后一行的所有内容,因为-抛弃了我。

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

由于

1 个答案:

答案 0 :(得分:1)

-表示“传递URI并且不执行任何操作”。它基本上对URI没有任何作用,只应用标志,在这种情况下返回404。

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

  

破折号表示不应执行替换(现有路径未经过修改)。当需要在不改变路径的情况下应用标志(见下文)时使用。