2017-01-23 2 views
0

Я хочу настроить перенаправление с .htaccess. Это работает частично.Неправильная переадресация с .htaccess

Когда я открываю страницу: www.example.com/workflow -> Все работает отлично

Когда я открываю страницу: example.com/workflow -> редирект на WWW .example.com/workflow.php Но он должен перенаправить www.example.com/workflow (потому что дублированный контент)

Где моя ошибка в конфигурации? Может кто-нибудь мне помочь?

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^example.com$ [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] 

RewriteCond %{THE_REQUEST} index\.php [NC] 
RewriteRule ^index\.php$ http://www.example.com/ [NC,R=301] 


Redirect /facebook https://www.facebook.com/example/ 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^workflow/$ workflow.php [L] 
+1

код [L] флаг, после WWW редиректа, вызывает mod_rewrite, чтобы остановить обработка набора правил. – labue

+0

Итак, вы пытаетесь добиться канонизации? Просто хочу, чтобы я правильно понял ваш вопрос. – Lag

+0

Правила должны работать нормально. Возможно, есть другие правила, или у вас другой порядок, чем показ в вопросе. –

ответ

0

Изменить эту строку:

RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] 

к этому:

RewriteRule ^(.*)$ http://www.example.com/$1 [NC,R=301] 

Это должно исправить

+0

Нет, это вызовет внешний цикл правил. Вы удалили L. – starkeen

 Смежные вопросы

  • Нет связанных вопросов^_^