我想創建一系列mod_rewrite規則來製作漂亮的url。.htaccess mod_rewrite challenge
我想就可以提供index.php?section=123&area=345&option=1 as /123/345/option=1
到目前爲止好,這個工程:
RewriteRule ^(.+)/(.+)/(.+)$ /index.php?section=$1&area=$2&$3
確定這裏是我的第一個問題:
如何強制它,如果工作其中一個變量沒有定義,即。如果有人瀏覽到
/section
而不是/section/area/
。如果它已被關閉,我可以使htaccess自動創建/area/
作爲默認值嗎?同樣,我如何強制
/area/
有斜線?如果目前沒有斜線,我會得到一個404,因爲系統正在尋找但沒有找到第三個變量。
謝謝這很好地指出了我的正確方向。爲了清晰起見,我最終將不同的規則分開了,但是這基本上是對代碼的修改: 'RewriteRule ^(。+)/(。+)/(。+)$ /index.php?section=$1&area = $ 2&$ 3 [L] RewriteRule ^(。+)/(。+)/ $ /index.php?section=$1&area=$2 [L] RewriteRule ^(。+)/(。+)$/index .php?section = $ 1&area = $ 2 [L] RewriteRule ^(。+)/ $ /index.php?section=$1 [L]' 這涉及尾部斜線問題,我將使用PHP來定義如果需要的話,默認區域。 – whizzkid 2011-12-22 01:18:55