【发布时间】:2011-04-02 09:17:48
【问题描述】:
我想转换一个类似
的 URL http://mysite.com/search/search_mgmt.php?CategoryID=1类似
http://mysite.com/search/my-seo-friendly-url我启用了 mod_rewrite。
【问题讨论】:
标签: .htaccess dynamic-url
我想转换一个类似
的 URL http://mysite.com/search/search_mgmt.php?CategoryID=1类似
http://mysite.com/search/my-seo-friendly-url我启用了 mod_rewrite。
【问题讨论】:
标签: .htaccess dynamic-url
你想达到什么目标?如果某些东西通过search/search_mgmt.php?CategoryID=1 到达您的网站,并且您想将其转换为search/my-seo-friendly-url,您将不得不将流量重定向到另一个网址:
RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^mysite.com/search/search_mgmt.php?CategoryID=1$ http://mysite.com/search/my-seo-friendly-url [R=301,L]
使用此规则,服务器将发送带有 Location: 标头的客户端代码 301 Moved Permanently 到新 URL。您可以将 301 代码更改为 302(已找到):[R=302,L]。 (注意:在这种情况下,客户端向您的服务器发送两个请求以获取内容。)
如果您不添加此结果说明符,那么您的服务器将只返回结果,就好像它是使用重写的 URL 访问的一样。所以我猜你实际上希望用户看到你的my-seo-friendly-url,而在服务器上它将由search_mgmt.php?CategoryID=1 处理。你可以这样做:
RewriteRule ^mysite.com/search/my-seo-friendly-url$ http://mysite.com/search/search_mgmt.php?CategoryID=1
【讨论】: