Редирект 301 - зачем добавлять знак вопроса? - PullRequest
0 голосов
/ 04 июля 2011

В файле .htaccess:

Redirect 301 /john-biography.php /about

Когда я набираю domain.com/john-biography.php в браузере, он становится:

domain.com / о? /John-biography.php

Это нормально или что можно сделать, чтобы это предотвратить?

Ответы [ 2 ]

4 голосов
/ 04 июля 2011

Это обычно происходит из-за конфликта между mod_alias (Redirect) и mod_rewrite, когда внешний URL-адрес перенаправляется, который уже был переписан внутри mod_rewrite.

В этом случае вы не должны использовать mod_alias, а только mod_rewrite. Так что просто конвертируйте вашу директиву в эквивалент mod_rewrite:

RewriteRule ^john-biography\.php$ /about [L,R=301]

Поместите это перед вашими другими правилами, которые переписывают внутри.

3 голосов
/ 04 июля 2011

Из руководства Apache для mod_alias :

The new URL should be an absolute URL beginning with a scheme and hostname.

Так что попробуйте:

Redirect 301 /john-biography.php http://www.yourdomain.com/about
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...