2015-07-10 58 views
1

除了一個外部URL的所有目錄的URL我需要重定向如下:重定向使用的.htaccess

http://olddomain.com/products/ * --->http://shop.newdomain.com/

除了http://olddomain.com/products/certain-category

到目前爲止,我可以重定向他們都:

RedirectMatch 301 /products(.*) http://shop.newdomain.com/ 

我只需要停止重定向「某些類別」?

喜歡的東西:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond /products(.*) !^/(certain-category)/ 
RewriteRule (.*) http://shop.newdomain.com/ [L,R=301] 
</IfModule> 

雖然這是整個網站重定向到http://shop.newdomain.com/

回答

1

您可以使用該負前瞻基於規則:

RewriteEngine On 

RewriteRule ^products/(?!certain-category).*$ http://shop.newdomain.com/ [NC,L,R=301] 

(?!certain-category)是負先行即會如果certain-category正好在URL中的/products/後面,則不能匹配。

確保在測試之前清空瀏覽器緩存。

+1

謝謝,完美的工作:) –