1

我有一个目录,其中包含一个 index.php 和一个 index.html 文件,它们都是从 CMS 发布的。有一个特定的 IP 地址会尝试访问 index.html,但应该在同一目录中显示 index.php。所有其他流量应正常运行。

我一直在使用此代码的一些变体:

RewriteEngine On
RewriteCond %{REMOTE_HOST} ^123\.456\.789\.10
RewriteRule ^index\.(htm|html?)$ index.php [NC,R=301,L]

这确实会进行重定向,但它当然会转到站点的根目录,而不是停留在同一目录中。在所有情况下都不清楚目录路径是什么,所以我想告诉 Apache 留在它所在的同一目录中。

这可能吗?

谢谢,乔纳森

4

1 回答 1

0

如果你想对 IP 有这个规则:123.456.789.10那么你不应该有这个 IP 否定,比如:RewriteCond %{REMOTE_HOST} !

试试这个代码:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /subdir/

RewriteCond %{REMOTE_HOST} ^123\.456\.789\.10$
RewriteRule ^index\.html?$ index.php [NC,R=302,L]
于 2013-07-16T19:08:03.163 回答