Перенаправление 301 — почему мой старый URL добавляется к моему новому URL, вызывая ошибку 404?

#.htaccess #redirect

#.htaccess #перенаправление

Вопрос:

 Redirect 301 /features/blahblah.php http://www.mysite.com/articles/blahblah1.php
  

приводит к http://www.mysite.com/articles/blahblah1.php?q=features/blahblah.php страница с ошибкой 404 не найдена.

Итак, что я здесь делаю не так

Комментарии:

1. в связанных новостях кто-нибудь может предоставить мне хороший ресурс для материалов, связанных с htaccess, таких как ^ (.*) и т.д…

Ответ №1:

http://httpd.apache.org/docs/2.0/mod/mod_alias.html#redirect точно документирует, что происходит.

Вы, вероятно, хотите использовать RedirectMatch, что-то вроде:

 RedirectMatch ^/features/blahblah.php http://www.mysite.com/articles/blahblah1.php
  

Если вы хотите, чтобы это было «постоянное» перенаправление со статусом HTTP 301 (что может быть желательно для целей SEO), а не временное перенаправление 302, то вместо этого используйте:

 RedirectMatch permanent ^/features/blahblah.php http://www.mysite.com/articles/blahblah1.php
  

Комментарии:

1. Перенаправление постоянное ^ /features/blahblah.php mysite.com/articles/blahblah1.php приводит к тому же mysite.com/articles/blahblah1.php?q=features/blahblah.php