2010-07-07 66 views

回答

4
RewriteRule ^(en|fr|es)/(.*?)/(.*?)/(.*) $2.php?id=$3&cat=$4&lang=$1 [NC,QSA] 

我想你的意思是NC(任何情況下),不NL。您提到了不存在的重複捕獲組,並重復$2

+0

感謝您的幫助,我使用這樣的內容: RewriteRule adsInDpt/fr /([0-9] +)/([0-9] +)/([a-zA-Z0-9 _-] + )\。html $ adsInDpt.php?Dpt = $ 1&ad = $ 2 [QSA],這意味着我必須爲每個頁面編寫此規則? – jartaud 2010-07-07 02:11:44

+0

不,你可以像這個答案中的規則那樣做,你只需要改變'(en | fr | es)'的位置。 – Artefacto 2010-07-07 02:13:52

+0

再次感謝,但它可能在開始時有一個虛擬文件夾,例如(site/en/page),但是當我們點擊一​​個鏈接(Español,Français)時,文件夾更改爲es或fr? – jartaud 2010-07-07 02:20:23

2

你是第二次捕獲將捕獲的一切,直到網址的結尾。所以你可能會在擴展名或錯誤的目錄上加倍。

儘管它不應該影響重定向,但您沒有第三次捕獲,那麼$3在哪裏?

看看你的標題,看看它真正的重定向和評論回來。