2011-08-03 85 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