【问题标题】:.htaccess rewrite on mediatemple.htaccess 在 mediatemple 上重写
【发布时间】:2012-09-16 13:43:17
【问题描述】:

我托管在 mediatemple DV 4.0 服务器上,并在我的 htaccess 文件中使用以下行(为 CMS 重写规则)

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]

效果很好,但是当我尝试进行 301 重定向以将旧页面指向新地址时,它会在 url 中添加一些不必要的内容,例如:

?id=locations-maryland

如何修改重写规则以保持相同的功能但删除最后一部分,这基本上使 301 重定向毫无意义,因为 CMS 找不到任何带有此垃圾网址的页面。

它只发生在 mediatemple 我听说过在某处添加/删除一个额外的问号,但没有足够的知识来自己解决它。

【问题讨论】:

    标签: .htaccess mod-rewrite rewrite mediatemple


    【解决方案1】:

    ? 添加到重定向目标的末尾。示例:

    Redirect /something/ /something/else/? 
    

    或者如果你正在使用 mod_rewrite:

    RewriteRule ^/?something/(.*)$ /something/else/$1? [L,R=301]
    

    【讨论】:

    • 谢谢。它可以工作,但会在 URL 的末尾添加问号。有什么方法可以删除它但保留结果?
    • @MarkH。使用Redirect,我认为没有其他方法,没有?,查询字符串只会被附加。但是如果你使用 mod_rewrite (第二个),问号不会出现在重定向中。
    猜你喜欢
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-28
    • 1970-01-01
    • 2012-02-27
    • 2019-04-25
    • 2010-12-26
    • 1970-01-01
    相关资源
    最近更新 更多