我一直在努力使用mod_rewrite,希望在以下场景中提供帮助:
我想要以下网址格式:
http://site.com/ [subsection] / [country name] / [city name]
打开页面(不是重定向):
http://site.com/ [国家/地区名称] / [城市名称] /index.php
因此,例如,如果用户键入以下任何内容:
site.com/search/Canada/Vancouver
site.com/content/Canada/Vancouver
它会显示文件(不是重定向):
site.com/Canada/Vancouver
提前感谢。
答案 0 :(得分:2)
请尝试以下规则:[虽然未在此处测试]
RewriteRule ^(search/)([^?]*) $2 [L,NC]
RewriteRule ^(content/)([^?]*) $2 [L,NC]
答案 1 :(得分:0)
你可以试试这个:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} [^/]+/([^/]+)/([^/]+)/? [NC]
RewriteRule .* %1/%2/index.php [L,QSA]
它将在内部进行映射:
http://site.com/folder/anycountry/anycity
要:
http://site.com/anycountry/anycity/index.php
如果保留了传入的URL结构,则将查询字符串(如果有)传递给index.php
。换句话说,这个:
http://site.com/anycountry/anycity
或此
http://site.com/folder/anycountry/
不起作用,但是这个:
http://site.com/folder/anycountry/anycity/?par1=val1&par2=val2...
会奏效。