【问题标题】:Dynamic URLs using .htaccess file使用 .htaccess 文件的动态 URL
【发布时间】: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


    【解决方案1】:

    你想达到什么目标?如果某些东西通过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
    

    【讨论】:

      猜你喜欢
      • 2012-10-31
      • 2017-12-01
      • 1970-01-01
      • 2014-07-09
      • 2018-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多