【问题标题】:mod_rewrite - convert querystring to pathsmod_rewrite - 将查询字符串转换为路径
【发布时间】:2011-04-01 16:22:41
【问题描述】:
我正在尝试将具有查询字符串的 url 重写为其 SEO 友好名称
即考虑
mysite.com/models?p1=v1&p2=v2&p3=v3&p4=v4&p5=v5&p6=v6
我喜欢重写
mysite.com/models/v1/v2/v3/v4/v5/v6
或
mysite.com/models~v1~v2~v3~v4~v5~v6
哪个更适合 SEO。任何建议
j
【问题讨论】:
标签:
url
mod-rewrite
seo
url-rewriting
query-string
【解决方案1】:
RewriteRule ^/models/([^/]+)/([^/]+)/([^/]+)$ models?p1=$1&p2=$2&p3=$3
请记住,“浏览器视图”中的那个目录现在是 /models/xx/xx/xx/ 而不是 gloal /。
因此,请确保样式、图像等的链接是全局的,因为在重写之后,它们可能会停止工作。
您还可以将每个链接(不包括 css、图像、swf 等)重写为 'models' 并在 php 中解析 $_SERVER["QUERY_STRING"](以 "/" 分解并从数组中填充参数)