【问题标题】:mod-rewrite redirect url with query string to static url带有查询字符串的 mod-rewrite 重定向 url 到静态 url
【发布时间】:2011-11-29 18:07:19
【问题描述】:

这导致了很多头发拉扯。我正在尝试将带有查询字符串的 URL 重定向到看起来像静态的 URL - 如果输入带有查询字符串的 URL,我希望 URL 实际更改。

因此,如果用户导航到:

http://mysite.com/index.cfm?event=page.product&productid=170&languageid=en

然后 mod_rewrite 将重定向到:

http://mysite.com/en/products/170

我已经在我的 htaccess 文件中尝试过这个(并且 htaccess 有效):

RewriteCond %{QUERY_STRING} ^event=page\.product&productid=(.*)&languageid=(.*)$ [NC]

RewriteRule ^index\.cfm$ /%2/products/%1/ [R=301,L]

但是,这似乎不起作用。我已经查看了整个 stackoverflow,但找不到我要查找的内容。

非常感谢任何帮助。

谢谢, 汤姆

【问题讨论】:

    标签: mod-rewrite


    【解决方案1】:

    很奇怪,您的代码无法正常工作。所以这是我的建议,可能会让你走上正轨:


    (1)

    请尝试使用RewriteLog 指令:它可以帮助您追踪此类问题:

    # Trace:
    # (!) file gets big quickly, remove in prod environments:
    RewriteLog "/web/logs/mywebsite.rewrite.log"
    RewriteLogLevel 9
    RewriteEngine On
    

    (2)

    我最喜欢的检查正则表达式的工具:

    http://www.quanetic.com/Regex(别忘了选择 ereg(POSIX) 而不是 preg(PCRE)!)

    【讨论】:

      猜你喜欢
      • 2011-02-08
      • 2015-04-17
      • 1970-01-01
      • 1970-01-01
      • 2019-09-03
      • 2018-08-07
      • 1970-01-01
      • 2014-07-08
      • 2019-06-17
      相关资源
      最近更新 更多