2012-03-25 60 views
0

我想寫一個htaccess重寫規則。但它不是重定向,htaccess不工作

這是我現在的規則

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9]+)$ question.php?qkey=$1 

,將顯示類似網站名稱/ questionkey一個URL和完美的重定向它。

現在蔭試圖表明就像網站名的URL/questioncatagory/questiontititle

蔭嘗試使用下面的規則,但它不工作

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9]+)/^([a-zA-Z0-9]+)/^([a-zA-Z0-9]+)$ question.php?qkey=$1 

回答

0

首先,它可能是清楚和維護更好用([\ w] +)代替你的([a-zA-Z0-9])

其次,你的新規則因爲脫字符^字符不起作用。在開始時,它表示'匹配開始行',這肯定不會在正則表達式中應用3次。刪除後面的兩個^插入符號(然後在$ 1,$ 2等的某個地方使用其他捕獲的組)。

最後,您可能不需要將行尾與$字符相匹配。這對許多網址不友好,例如帶有斜線的網址。

RewriteEngine On 
RewriteRule ^([\w]+)/([\w]+)/([\w]+) question.php?qkey=$1&cat=$2&qtitle=$3 
+0

Iam現在真的很困惑。可以通過在這裏寫規則來清除它... – 2012-03-25 04:09:52

+0

我將調整過的行添加到了我的答案中,但它仍然需要您自己實現URL的$ 2和$ 3(問題/類別/ question_title)部分。 – hexparrot 2012-03-25 04:11:25

+0

感謝它正在工作:) ..有沒有任何機會隱藏url中的questionkey。我想將網址顯示爲sitename/questioncatagory/questiontititle。 – 2012-03-25 04:15:33