2016-05-05 3 views
1

Я использую RewriteRule в моих URL-адресов.htaccess перенаправляет с URL дружественным (mod_rewrite)

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/([^/]+)/?$ index.php?lang=$1&page=$2 [L,QSA,NC] 

Теперь мне нужно создать 301 редирект. Так что я, что:

Redirect 301 /port/reestruturacao-financeira http://website.com/port/reestruturacao-corporativa/ 

В результате неправильно:

http://website.com/port/reestruturacao-corporativa//?lang=port&page=reestruturacao-financeira

Как я могу исправить это? перенаправлять

http://website.com/port/reestruturacao-corporativa/

в

http://website.com/port/reestruturacao-corporativa/

+0

У этого URL-адреса https://www.website.com/port/reestruturacao-corporativa/ выходы? – starkeen

+0

@starkeen Да. Он существует. – marcelo2605

+0

Есть ли у вас какие-либо другие правила? – starkeen

ответ

1

Вы должны держать перенаправлять 301 правило, прежде чем другим правилом внутреннего переписывания и использовать только mod_rewrite правила:

RewriteEngine On 

RewriteRule ^port/reestruturacao-financeira /port/reestruturacao-corporativa/? [L,NC,R=301] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/([^/]+)/?$ index.php?lang=$1&page=$2 [L,QSA] 

Не забудьте очистите кеш браузера перед тестированием.

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