mod_rewrite - 无法组合规则

时间:2010-12-22 13:48:35

标签: mod-rewrite

我有3条规则:

  # DEL www. from URL
  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
  RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

  # DEL /index.php fron URL
  RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.php\ HTTP/
  RewriteRule ^(([^/]+/)*)index\.php$ http://some-site.kiev.ua/$1 [R=301,L]

  # ADD / to URL
  RewriteRule  ^([^.]+[^./])$ /$1/  [R=301,L]

所有规则都是单独工作的,但是当你同时使用它们时 - 会出现循环并且网站无法打开......

帮助请将它们组合起来

1 个答案:

答案 0 :(得分:0)

这对我来说没有意义:

# DEL /index.php fron URL
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.php\ HTTP/
RewriteRule ^(([^/]+/)*)index\.php$ http://some-site.kiev.ua/$1 [R=301,L]

如果您要从网址中删除/index.php,可以使用

RewriteRule ^(.*)/index\.php$ $1

此外,您的第一条规则在路径的开头添加了一个额外的斜杠。可能没关系,但仍然。