#php #.htaccess #redirect
#php #.htaccess #перенаправление
Вопрос:
Мне нужно перенаправить некоторые страницы из одного домена в другой. Пример: example.com/help/questions(/show/some_text|none|get params)
для example2.com/questions(/show/some_text|none|get params)
htaccess:
Redirect permanent /help/questions http://example2.com/questions
Но перенаправление с example.com/help/questions/show/some_text
не работает — example2.com/help/questions/show/some_text
вместо этого у меня есть example2.com/questions/show/some_text
С таким кодом у меня есть некоторые проблемы.
RewriteCond %{HTTP_HOST} example.com/help/questions
RewriteRule (.*) http://example2.com/questions/$1 [R=301,L]
Как я могу это исправить?
Все остальные страницы перенаправляются нормально.
Ответ №1:
%{HTTP_HOST}
соответствует только имени хоста, а не URI.
Вы можете использовать:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www.)?example.com$ [NC]
RewriteRule ^help/(questions/.*) http://example2.com/$1 [R=301,L,NC,NE]
Комментарии:
1. У меня все еще есть такая проблема: но перенаправление с
example.com/help/questions/show/some_text
не работает —example2.com/help/questions/show/some_text
вместо этого у меня естьexample2.com/questions/show/some_text
.help
не требуется2. Убедитесь, что это правило является вашим первым правилом и полностью очистите кэш вашего браузера.
Ответ №2:
- Убедитесь, что вы установили «AllowOverride All» в httpd.conf или apache.conf.
- Убедитесь, что у вас включены модули apache rewrite_module, headers_module и alias_module.