2011-11-30 66 views
2

有大量的信息,但沒有我在interwebz上讀過的信息給了我一個答案,爲什麼我的htaccess不工作。htaccess URL重寫產品不會重定向我

我無法確定爲什麼我的規則不會像我想的那樣重寫URL。我有以下網址:

domain.com/Book/bookpage/index.php?bookID=123&bookName=foo_bar 

我想,這樣當有人點擊該URL,它顯示了像去改變它:

domain.com/Book/123/foo_bar 

我開始了好一會才只使用工作Book ID,甚至沒有得到這個工作。

這是我迄今:

domain.com/Book/bookpage/index.php?bookID=123 

在地址欄中的網址:

RewriteRule ^Book/([0-9]+)$ /Book/bookpage/index.php?bookID=$2 

但是,將是htaccess的在站點的根目錄,並要在URL後保持不變。

回答

2

試試這個:

RewriteEngine On 
RewriteBase/

# this rewrite domain.com/Book/123 or domain.com/Book/123/ 
RewriteRule ^Book/([0-9]+)/?$ /Book/bookpage/index.php?bookID=$2 [L,NC,QSA] 

# this rewrite domain.com/Book/123/title or domain.com/Book/123/title/ 
RewriteRule ^Book/([0-9]+)/([a-z0-9\-_]+)/?$ /Book/bookpage/index.php?bookID=$1&bookName=$2 [L,NC,QSA] 
+0

,完美的工作,謝謝! – Katzumi

+0

非常歡迎您! –

0

嘗試增加[L,R = 301]在該行的末尾:

RewriteRule ^Book/([0-9]+)$ /Book/bookpage/index.php?bookID=$2 [L,R=301]