如何在重写规则中包含单个$(美元符号)
问题描述:
我试图为我的.htaccess文件创建重写规则。我想在其中包含一个美元符号。它应该是这样的:
RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^\$$ "http\:\/\/domain\.com\/something" [R=301,L]
的问题是,它不与一个美元符号的工作,所以如果我去domain.com/$我得到一个404它的工作原理只有另一个字母,例如^\$a$
- 在这种情况下,domain.com/$a将重定向到domain.com/something。
解决方法是创建一个新文件夹,将其重命名为$并将.htaccess文件放在那里,但我宁愿避免为此目的创建没有内容的多个文件夹。我在互联网上找不到任何参考(official Apache documentation for mod_rewrite不是很有帮助)。我试着在不同的组合中使用多个斜杠,但都失败了。我是否错过了某些东西,或者仅仅是不可能使它以这种方式工作?
答
对我来说,它和htaccess中的RewriteRule^\ $$和请求“$”完全一样。你有没有看过rewritelog/loglevel rewrite:trace8呢?
谢谢,我无法在其他任何地方测试此规则,但至少我知道我正确地做了这件事。其实我不知道我做了什么 - 我只是在寻找你提到的日志,并且从我的FTP中删除了一些我认为不必要的旧系统文件夹。它开始神奇地工作!看起来我应该问服务器的支持,而不是在这里发布我的问题(显然这是我的服务器有问题)。这只是我在这个领域缺乏经验而使我相信我做错了什么(因为除了这个之外,其他规则都是完美的)。 – pafflick 2014-12-09 19:32:22
虽然我还没有找到那些日志,但既然它现在有效,我不认为我应该关心它们吗? – pafflick 2014-12-09 19:34:29