我要将某些请求从特定 IP 地址重定向到另一个站点。 例如,如果请求来自
xxx.xxx.xxx.xxx
或xxx.xxx.xxx.xxy
,我将重定向到https://example.com
,对于其他人,我将显示我的index.php
.
所以我这样试了,但是不行。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REMOTE_ADDR} xxx.xxx.xxx.xxx
RewriteCond %{REMOTE_ADDR} xxx.xxx.xxx.xxy
RewriteRule ^ https://example.com [L,R]
</IfModule>
请帮助我。
您可以在站点根目录 .htaccess 中使用此代码:
DirectoryIndex index.php
RewriteEngine On
RewriteRule ^index\.php$ - [L,NC]
RewriteCond %{REMOTE_ADDR} ^xxx\.xxx\.xxx\.xxx$ [OR]
RewriteCond %{REMOTE_ADDR} ^xxx\.xxx\.xxx\.xxy$
RewriteRule ^ https://example.com [L,R]
这里要注意的重要一点是使用
[OR]
子句允许匹配任何给定的 IP 地址和使用锚点 + 转义点以准确匹配 IP。