2013-07-02 2 views
1

Мой код Htaccess дается нижеHtaccess 301 редирект поставляется с строку запроса

Redirect 301 /coupon/coupon-codes-for-home-shopping-network.htm http://www.domain.com/coupon/coupon-code-for-hsn.com 

Redirect 301 /coupon/coupon-code-for-shopping.hp.com http://www.domain.com/coupon/coupon-codes-for-hp-home-store.htm 

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^domain\.com [NC] 
RewriteRule (.*) http://www.domain.com/$1 [L,R=301] 

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php?url=$1 [L,QSA] 
</IfModule> 

Проблема заключается в том, если я перейти к http://www.domain.com/coupon/coupon-codes-for-home-shopping-network.htm он будет перенаправлять http://www.domain.com/coupon/coupon-code-for-hsn.com?url=coupon/coupon-codes-for-home-shopping-network.htm

Мне нужно избавиться от строки запроса URL для эти 301 переадресации. Пожалуйста, порекомендуйте. Спасибо

ответ

1

Прежде всего, смешивание mod_alias и mor_rewrite - не очень хорошая идея. Просто придерживайтесь mod_rewrite, поскольку он более мощный и более гибкий. У вас есть следующие правила:

Options +FollowSymLinks -MultiViews 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteRule ^coupon/coupon-codes-for-home-shopping-network\.htm$ /coupon/coupon-code-for-hsn.com [L,NC,R=301] 

RewriteRule ^coupon/coupon-code-for-shopping\.hp\.com$ /coupon/coupon-codes-for-hp-home-store.htm [L,NC,R=301] 

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

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^/coupon/ 
RewriteRule ^(.*)$ /index.php?url=$1 [L,QSA] 
</IfModule> 
+0

Хорошо работает. Спасибо –

+0

Добро пожаловать, рад, что это сработало. – anubhava

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