Удаление index.php из URL, но старые ссылки должны работать - PullRequest
1 голос
/ 07 октября 2009

Я пытаюсь удалить файл index.php из URL, который работает с примерами .htaccess, найденными на сайте EZPublish, и ForceVirtualHost = true. Проблема в том, что старые ссылки, которые указывают на index.php, больше не работают (что проблематично при ссылках из поисковых систем).

Я пытался найти решение этой проблемы при использовании правил перезаписи в .htaccess, но не могу заставить это работать. Вот некоторые из моих попыток:

Попытка 1

RewriteCond %{REQUEST_URI} ^/index.php
RewriteRule ^index\.php(.*) http://www.mysite.com$1

RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule .* index.php [L]

Эта попытка вызывает бесконечный цикл.

Попытка 2

RewriteCond %{REQUEST_URI} ^/(index\.php)?(.*)$
RewriteRule %2 index.php [L]

RewriteRule .* index.php [L]

Также не работает: - (.

NB. 'RewriteRule. * Index.php [L]' необходим для настройки виртуального хоста в EZPublish.

Любая помощь будет принята с благодарностью.

Vivienne

Ответы [ 2 ]

1 голос
/ 05 января 2011

в ваших настройках / override / site.ini.append.php:

 [SiteAccessSettings]
 ForceVirtualHost=true
0 голосов
/ 10 октября 2009

Попробуйте проверить строку запроса вместо:

RewriteCond %{THE_REQUEST} ^GET\ /index\.php
RewriteRule ^index\.php/?([^/].*)?$ /$1 [L,R=301]

RewriteRule !^index\.php$ index.php [L]
...