【问题标题】:How to include a single $ (dollar-sign) within the rewrite rule如何在重写规则中包含单个 $(美元符号)
【发布时间】:2014-12-09 10:22:59
【问题描述】:

我正在尝试为我的 .htaccess 文件创建重写规则。我想在其中包含一个美元符号。它应该是这样的:

RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^\$$ "http\:\/\/domain\.com\/something" [R=301,L]

问题在于它不适用于单个美元符号,因此如果我访问 domain.com/$,我会得到 404。它仅适用于另一个字母,例如 @ 987654323@ - 在这种情况下,domain.com/$a 将重定向到 domain.com/something

解决方法是创建一个新文件夹,将其重命名为 $ 并将 .htaccess 文件放在那里,但我宁愿避免为此创建多个没有内容的文件夹。我在 Internet 上找不到任何参考资料(official Apache documentation for mod_rewrite 不是很有帮助)。我尝试在不同的组合中使用多个斜杠,但一切都失败了。是我遗漏了什么,还是无法让它以这种方式工作?

【问题讨论】:

    标签: apache .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    对我来说,它在 htaccess 中与 RewriteRule ^\$$ 并请求“$”完全一样。你看过 rewritelog / loglevel rewrite:trace8 了吗?

    【讨论】:

    • 谢谢,我无法在其他任何地方测试此规则,但至少我知道我做得正确。实际上我不知道我做了什么 - 我只是在寻找你提到的日志,我已经从我的 FTP 中删除了一些我认为不必要的旧系统文件夹。它开始神奇地工作!看起来我应该询问服务器的支持而不是在这里发布我的问题(显然这是我的服务器出了问题)。只是我在这个领域缺乏经验,这让我确信我做错了什么(因为其他所有规则,但这条规则完美)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-24
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 2023-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多