仅限 root 使用 .htaccess mod_rewrite 重定向问题

仅限 root 使用 .htaccess mod_rewrite 重定向问题

我正在尝试将对我的根目录的所有请求永久重定向到另一个站点。除了根目录请求之外,我不希望重定向任何其他请求。

请求“http://www.example.com“应该到到”http://www.example2.com/blah

我可以通过以下方式实现这个功能:

RewriteEngine 在 Rewriterule 上 ^/$http://www.example2.com/blah[左,右=301]

一切似乎都运行良好(除 root 之外的所有请求都不会被重定向)。除了某一特定类型的请求不起作用。

我有一个运行于“http://www.example.com/phpscript

对该脚本的请求在 URL 中有一个额外的组件,例如“http://www.example.com/phpscript/blah

我删除了 PHP 脚本中的 /blah 部分,并根据请求返回一个 gif 图像。这可能是我的问题根源。对我的上述重写规则来说,对此 URL 的请求不起作用。

有什么想法吗?提前致谢。

答案1

你可能想要

Rewriterule ^$ http://www.example2.com/blah [L,R=301]

(无斜线)

如果这不起作用,您应该尝试将其添加到您的 http 配置中(在配置中的某个地方,它在 htaccess 或虚拟主机级别不起作用)

RewriteLog /tmp/rewrite.log
RewriteLogLevel 9

这将逐行解释它尝试匹配什么正则表达式以及最终的决定是什么。

然后删除这些行,否则有一天你会发现你的磁盘空间并没有你想象的那么多……

相关内容