2011-08-03 110 views
0

我想改寫這個網址:困難的Apache URL重寫

myhost.com/elecresult-Cantonales-2011/039/03915.html

這一個:

myhost.com/elecresult-Cantonales-2011/(path)/039%2F03915.html

你能不能幫我重寫規則?有沒有可能urlencode?

+0

到目前爲止你有多遠?什麼有效/什麼不是? –

回答

0

在你的RewriteRule中使用正則表達式來匹配你已經佈置的路徑。

如果你想匹配一個通用路徑,即/ first/second/third,你可以使用這個正則表達式:^ /(。+)/(。+)/(。+)$。您使用符號$ n(其中n是1 - 10)來匹配相應的捕獲。要將其更改爲/ first // secondthird,請指定替換字符串: $ 1 // $ 2 $ 3

以下片段應該這樣做。您可以將它添加到您的虛擬主機指令,.htaccess文件或目錄指令中的httpd.conf中。

[L]指定寫這條規則並停止。

<IfModule mod_rewrite> 
    RewriteEngine on 

    RewriteRule ^/(.+)/([0-9]+)/(.+)$ $1/(path)/$2%2F$3 [L] 
</IfModule> 
+0

謝謝。我要試一下。 如何使用'elecresult-'模式匹配URL? – Franck