2013-05-03 89 views
0

好吧,我的眼睛和手指正在流血,試圖讓這個東西工作。這裏有幾個我想在我的.htaccess文件中測試的傳入URI的例子。.htaccess RewriteCond REQUEST_URI動態SEO生成的URI

abc.com 
abc.com/en 
abc.com/zh-cn/ 
abc.com/fr/page1 
abc.com/fr/page2/page3 
abc.com/fr/page2/page3/ 
abc.com/fr/page2/page3.html 

第一DIR需要是2首5個字符之間的UTF-8的語言代碼長,具有或不具有/底。這是我目前用來測試的:

RewriteCond %{REQUEST_URI} ^/(([a-z]{2})(-[a-z]{2})?) 

第二個目錄和on可以被集中在一起,然後在我的代碼中清理。這裏是完整的RewriteCond:

RewriteCond %{REQUEST_URI} ^/(([a-z]{2})(-[a-z]{2})?)([a-z0-9-\./]*)$ [NC] 

我收到了403錯誤。任何人知道我在這裏做錯了什麼?

由於一噸,

文斯

+0

哪裏是你的實際規則? – 2013-05-03 04:54:53

+0

RewriteRule不是我的問題,我知道在RewriteCond行生成403錯誤,但它在這裏。 RewriteRule ^(([az] {2})( - [az] {2})?)([a-z0-9 - \ ./] *)/index.php?lng=$1&tpl=$4 [QSA ,L,NC] – Vince 2013-05-03 05:45:52

+0

_「任何人都知道我在這裏做錯了什麼?」 - 請問應該知道的人:你的服務器。這就是日誌文件的用途。 (如果錯誤原因不能單獨從訪問/錯誤日誌中清除,請在測試機器上啓用重寫日誌。) – CBroe 2013-05-03 06:47:19

回答

1

這裏是我actaully結束了使用的解決方案。

URI的例子,我可能需要收杆:

abc.com/en 
abc.com/zh-cn/ 
abc.com/fr/page1 
abc.com/ru/dir1/page2 
abc.com/jp/dir1/page2/ 
abc.com/es-mx/dir1/dir2/page3.html 

的重寫規則我最終使用:

RewriteRule ^(([a-z]{2})(-[a-z]{2})?)(/([a-z0-9-\./]*))?$ /index.php?arg1=$1&arg2=$4 [QSA,L,NC]