mod_rewrite - не может комбинировать правила - PullRequest
0 голосов
/ 22 декабря 2010

У меня есть 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 голосов
/ 22 декабря 2010

Это не имеет смысла для меня:

# 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 из URL, вы можете просто использовать

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

Кроме того, ваше первое правилодобавляет дополнительную косую черту в начале пути.Возможно, это не имеет значения, но все же.

...