RewriteRule似乎没有替代品

时间:2014-11-02 23:26:54

标签: php apache .htaccess mod-rewrite

我试图了解其他人写的.htaccess文件的内容。下面RewriteRule ^index\.php$ - [L]完成了什么?

RewriteCond %{QUERY_STRING} ^(.*)?$
RewriteRule ^admin/(.*)$                        index.php?type=admin&action=view&page=$1 [L]

RewriteCond %{QUERY_STRING} ^(.*)?$
RewriteRule ^login$                             index.php?action=view&type=login&%1 [L]

RewriteCond %{QUERY_STRING} ^(.*)?$
RewriteRule ^forgot-password$                   index.php?action=view&type=forgot-password&%1 [L]

RewriteCond %{QUERY_STRING} ^(.*)?$
RewriteRule ^edit/user(/)?$                     index.php?action=edit&type=user&%1 [L]

RewriteCond %{QUERY_STRING} ^(.*)?$
RewriteRule ^signup(/)?$                        index.php?action=edit&type=user&id=0&%1  [L]

RewriteCond %{QUERY_STRING} ^(.*)?$
RewriteRule ^user/([0-9]+)(/)?                  index.php?action=view&type=note&user=$1&%1 [L]

RewriteCond %{QUERY_STRING} ^(.*)?$
RewriteRule ^(suggestion|comment)/([0-9]+)(/)?  index.php?action=view&type=note&page=open&note_type=$1&note=$2&%1 [L]

RewriteCond %{QUERY_STRING} ^(.*)?$
RewriteRule ^([0-9A-Za-z\-_]+)/(suggestion|comment)/([0-9]+)(/)?    index.php?action=view&type=note&page=$1&note_type=$2&note=$3&%1 [L]

#Catch All Pages
RewriteRule ^index\.php$ - [L]

RewriteCond %{QUERY_STRING} ^(.*)?$
RewriteRule ^([0-9A-Za-z\-_]+)(/)?          index.php?action=view&type=page&page=$1&%1 [L]

1 个答案:

答案 0 :(得分:2)

这意味着"什么都不做"。

  

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

您可以在此处阅读类似的问题:

Apache RewriteRule, - (dash) as substitution

Hyphen in .htaccess file rewrite rule

mod_rewrite documentation