如果规则:
RewriteRule myurl /newurl
匹配
http://localhost:8080/test/xxxmyurlyyy
为什么不匹配?
http://localhost:8080/test/xxxmyurly%EDyy
修改
我刚刚发现utf-8编码的作品就好了。如果我宁愿使用%C3%AD
而不是%ED
,那也没关系。我仍然需要启用unicode。
答案 0 :(得分:1)
似乎匹配得很好。鉴于此:
RewriteEngine On
RewriteLog /tmp/rewrite.log
RewriteLogLevel 5
RewriteRule myurl /stackexchange/foo.html
如果我拿这个:
curl http://localhost/test/xxmyurly%EDyy
我在/tmp/rewrite.log中看到了这个:
(3) applying pattern 'myurl' to uri '/test/xxxmyurly?yy'
(2) rewrite '/test/xxxmyurly?yy' -> '/serverfault/foo.html'
我完全得到了我的期望(一份内容为“这是测试”的文件)。
我怀疑你的问题不是你想象的那样。启用RewriteLog和 查看显示的内容,然后在此处发布结果。另外,看到更多 (理想情况下,所有)您的配置也会有所帮助。