2009-09-30 120 views
4

如果我從一個mod_rewriting網址:

http://www.mysite.com/blog/this-is-my-title/1/

http://www.mysite.com/blog.php?title=this-is-my-title&id=1

...它可能然後隨意上附加一個GET值後來的URL,還是mod_rewrite拋出它?

MY重寫規則:

RewriteRule ^blog/([A-Za-z]+)/(0-9]+)/? blog?title=$1&id=$2  [L] 

例:

我可以去 http://www.mysite.com/blog/this-is-my-title/1/?first=Johnnie&last=Wiggles

這將從根本上意味着

http://www.mysite.com/blog.php?title=this-is-my-title&id=1&first=Johnnie&last=Wiggles

我認爲守ld工作,但由於某種原因,目前它不適合我。

+1

如果不查看您的RewriteRule,則無法回答此問題。 – 2009-09-30 15:48:41

+0

它現在被添加...道歉 – johnnietheblack 2009-09-30 15:51:34

回答

9

您可以添加QSA到RewriteRule標誌:

RewriteRule page_([0-9]+)\.html page.php?id=$1 [QSA] 

將重定向page_1.html?a=2page.php?id=1&a=2

但是,要小心,因爲請求page_1.html?id=2會重定向到page.php?id=1&id=2,以及(在PHP) $_GET['id']將是2.

+0

不要忘記標記URL路徑的開始和結束。 – Gumbo 2009-09-30 16:53:01

+0

以下是QSA文檔的鏈接:http://httpd.apache.org/docs/current/rewrite/flags.html#flag_qsa – inorganik 2013-08-20 02:49:17

3

可以使用QSA(查詢字符串附加)標誌來追加它。

RewriteEngine on 
RewriteRule {from-url} {to-url} [L,NC,QSA]