【问题标题】:foo.com/city/staticpage-cityname.html --> foo.com/staticpage-cityname.htmlfoo.com/city/staticpage-cityname.html --> foo.com/staticpage-cityname.html
【发布时间】:2010-10-24 10:45:30
【问题描述】:
我目前的解决方案是将所有内容都放在站点根目录中,尽管它提供了所需的结果,但它已经挤满了我的根文件夹(超过 200 个城市)。
我想将所有城市放在 /root/cities/ 文件夹中并重写,使其看起来像在根文件夹中。
www.foo.com/cities/citypage(.html) 到 www.foo.com/citypage(.html)
【问题讨论】:
标签:
apache
mod-rewrite
url-rewriting
【解决方案1】:
您可以使用规则来检查cities 文件夹中是否存在这样的文件:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}cities%{REQUEST_URI} -f
RewriteRule !^cities/ cities%{REQUEST_URI} [L]
RewriteCond %{THE_REQUEST} ^GET\ /cities/([^\s?]*)
RewriteRule ^cities/ /%1 [L,R=301]