我有一个目录,其中包含一个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保留在它所在的目录中。
这可能吗?
谢谢, 乔纳森
答案 0 :(得分: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]