mode_rewrite:example.com/münster - > example.com/index.html?city=münster

时间:2010-02-03 00:47:54

标签: .htaccess mod-rewrite

就像在标题中描述的那样,我希望用mod_rewrite拥有干净的URL,遗憾的是我没有设法编写拟合正则表达式来完成我正在尝试的工作:

1.try:

RewriteRule ^([a-z]*)$ /index.html?city=$1 [NC,L]

2.try:

RewriteRule ^(.*)$ /index.html?city=$1 [NC,L]

但是没有一个正常工作,更不用说“üöä”

1 个答案:

答案 0 :(得分:2)

第二个会更好,但是,它会循环进行,因为重定向到/index.html?city=$1也会被处理,并且当它与RewriteRule匹配时,它也会被重定向。类似的东西:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.html?city=$1 [NC,L]

将更好地工作,因为它确保它只重定向不适用于现有文件或目录的请求。我尝试了上面的“münster”示例,并将其重定向为/index.html?city=m%c3%bcnster,这可能是您需要的,也可能不是。