2011-03-14 69 views
1

所以我在我的.htaccess文件中有一堆重寫規則。 這背後的原因是有我的服務器處理文件arabic.php背後 幕後當最終用戶瀏覽到www.mysite.co.uk/عربية:htaccess規則高效的方式?

RewriteEngine On 
RewriteRule ^عربية$ arabic.php 

我有這樣的大約40規則一個在上面提到。這是「好」與Apache或我推它,有一個更好的方式來實現我的最終目標?

+0

例子:重寫規則^ $عربيةarabic.php 重寫規則^الأغاني$ songs.php重寫規則^الفنان$ artist.php等..所以不存在任何特定規則 – Tom 2011-03-14 17:43:32

回答

1

不,它很像其他40條規則,因爲它只是使用正則表達式進行字符串比較。

但你需要使用合適的字符編碼,充其量UTF-8這對非ASCII字符的首選字符編碼。你的情況的路徑/عربية實際上可能被編碼爲/%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9這是UTF-8編碼當文本عربية%的編碼形式。

但也有可能出現瀏覽器不使用UTF-8但使用其他編碼的情況。或者是因爲瀏覽器使用不同的字符編碼的URL或因爲有人接着使用UTF-8以外的其他不同的字符編碼,並沒有使用百分號編碼正確平原上的相同網頁上的鏈接:

<a href="http://example.com/عربية"> 

在這種情況下作爲عربية文檔使用編碼有相同的字符編碼。

+0

非常有用的信息,再次感謝。 – Tom 2011-03-14 17:49:39