2016-11-18 124 views
1

我rewrited,通過.htaccess進行,在這種模式下的查詢字符串生成的動態URL的類別:htaccess的:重寫和重定向301

RewriteEngine On 
RewriteRule ^id1-([^-]*)-id2-([^-]*)$ /page.php?id1=$1&id=$2 [L] 

現在我的重寫工作在正確的方式,例如,以下網址開車到同一頁:

http://www.mysite.it/id1--id2-56789 
http://www.mysite.it/page.php?id1=&id2=56789 

但現在我想重定向301,從第二類到第一類,對所有動態URL。例如:

http://www.mysite.it/page.php?id1=&id2=56789 

http://www.mysite.it/id1--id2-56789 

通過以下方式不起作用:

RewriteEngine On 
RewriteRule ^id1-([^-]*)-id2-([^-]*)$ /page.php?id1=$1&id=$2 [L] 
RewriteCond %{QUERY_STRING} (^|&)id1=$1($|&) 
RewriteCond %{QUERY_STRING} (^|&)id2=$2($|&) 
RewriteRule ^page\.php$ /id1-id2? [L,R=301] 

哪裏錯誤?

你能幫助我嗎?

+0

ID總是隻有數字? –

回答

1
RewriteEngine On 
RewriteCond %{THE_REQUEST} \s/page.php 
RewriteCond %{THE_REQUEST} \?id1=(\w+)&id2=(\w+)\s 
RewriteRule ^page.php /id1-%1-id2-%2? [NC,R=301,L] 

RewriteRule ^id1-([^-]*)-id2-([^-]*)$ /page.php?id1=$1&id2=$2 [L] 
+0

謝謝杜尚! – mauro