如何從http://site.com/id555/forum666/thread777
這http://site.com/#id=555#forum=666#thread=777
? 我試試這樣說:如何用mod_rewrite獲得乘積變量
RewriteEngine on
RewriteRule ^/id([0-9]+)/?$ /#id=$1 [NC,NE,R=303]
RewriteRule ^/forum([0-9]+)/?$ /#forum=$1 [NC,NE,R=303]
RewriteRule ^/thread([0-9]+)/?$ /#thread=$1 [NC,NE,R=303]
但所有我得到它是http://site.com/#id=555
,所以我嘗試使它像這樣:
RewriteEngine on
RewriteRule ^(/(id|forum|thread)([0-9]+))+ #$2=$3 [NC,NE,N,R=303]
結果是http://site.com/#thread=777
。一個不明白,我該如何改變規則,以正確的方式得到它。我在VirtualHost
部分的主配置中使用它,因爲它對我來說很像,但如果你幫我使用.htaccess
,我會這樣做。
重要提示:它可以是任意順序的URL中的任意數量的變量。 例子:
http://site.com/thread777/forum666
http://site.com/id555/thread777
http://site.com/forum666
http://site.com/id555/forum666/thread777/id333/id444/forum777
他們都必須轉變這種方式,如:
http://site.com/#thread=777#forum=666
http://site.com/#id=555#thread=777
http://site.com/#forum=666
http://site.com/#id555#forum=666#thread=777#id=333#id=444#forum=777
非常感謝您,正是我所需要的。第二條規則是不需要的,因爲你在前面拖動$ 1。如果沒有'RewriteRule(。*)/ $ 1',在我的服務器和瀏覽器上也沒有問題 – BASILIO