Переадресация .htaccess, когда файл не существует - PullRequest
1 голос
/ 14 апреля 2011

Поэтому я использую .htaccess для перенаправления старых страниц сайта на новые страницы сайта.Типичное правило в моем файле выглядит следующим образом:

Redirect 301 /faqs.php http://blueprintprep.com/classroom/faq

Как ни странно, оно прекрасно работает, когда старый файл существует на сервере, но когда я удаляюфайл, окончательный URL-адрес на самом деле выглядит следующим образом:

http://blueprintprep.com/classroom/faq?/faqs.php

Что происходит в синих вспышках ??

Файл состоит из множестваэти правила и это для CodeIgniter:

RewriteEngine в системе RewriteBase / RewriteCond% {REQUEST_URI} ^. * RewriteRule ^ (. *) $ /index.php?/$1 [L] RewriteCond% {REQUEST_URI} ^ application. * RewriteRule ^ (. *) $ /Index.php?/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

RewriteRule ^application_consulting/(.*) http://blueprintprep.com/oneonone/app_consulting [R=301,L]
RewriteRule ^weekend/(.*) http://blueprintprep.com/classroom [R=301,L]
RewriteRule ^workshop/(.*) http://blueprintprep.com/oneonone [R=301,L]

1 Ответ

1 голос
/ 14 апреля 2011

Вместо этого можно использовать mod_rewrite.

RewriteEngine on
RewriteRule ^/faqs.php$ /classroom/faq [L,R=301]

Это будет работать независимо от того, существует файл или нет.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...