2016-09-22 92 views
0

因此,這裏是我的問題..的mod_rewrite不允許AZ

這是URL我: /category.php?cat=8

這是URL我嘗試實現: /方-events /廚房/

在類別有一個ID數據庫,主要main_slugsub_slug

此:/ main_slug/sub_slug/

我有這個

RewriteRule ^([a-z]+)\/?$ $1.php [NC] 
RewriteRule ^([a-z]+)\/([0-9]+)\/?$ category.php?param=$1&param2=$2 [NC] 

,輸出和工程罰款:/分類/ 8/

但..它只能與數字,沒有別的。如果我使用和字母,我會得到一個未找到的頁面。

但我失去了htaccess的正則表達式只使用主要和子slu and,而不僅僅是數字。

任何幫助,將不勝感激。

+0

你能給我舉個例子嗎? – ValhallaSkies

+1

'RewriteRule ^(\ w +)\ /(\ w +)/?$ category.php?param = $ 1&param2 = $ 2 [L,QSA]' – anubhava

+0

現在加載頁面,但只識別數字而不識別文本。 。hmm .. – ValhallaSkies

回答

1

在此規則中:

RewriteRule ^([a-z]+)\/([0-9]+)\/?$ category.php?param=$1&param2=$2 [NC] 

([a-z]+)位意味着

([0-9]+)位的意思是 「一個或多個數字0至9之間」

「a和z之間的一個或多個字母」

看來,您所要求的將通過將[0-9]替換爲另一個[a-z]來完成。但是,如果要接受任意字符,而不僅僅是a-z和/或0-9,請將它們兩個都替換爲([^/]+),這意味着「一個或多個非斜槓字符」。

+0

或者,按照@anubhava的建議,可以使用\ w這意味着匹配az,AZ,0-9和下劃線「_」字符的「單詞字符」。這一切都取決於你想成爲怎樣的限制。 –

+0

我知道它現在使用字母加載頁面,但我的查詢仍然只讀取數字,而不是文本slu。。 $ _REQUEST [ '參數2']。任何想法爲什麼會這樣? – ValhallaSkies

+0

我們可以看到更新後的規則集是什麼樣的嗎? –