我已经从论坛、Stack Overflow 上的答案和博客中尝试了无数种组合。我无法让它正常工作。
我想将所有用户重定向到一个子目录 - “/const” - 除了我认为有值(value)的 IP。
这是我目前使用的:
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^91\.143\.253\.211
RewriteCond %{REQUEST_URI} !^/const/ [NC]
RewriteRule ^(.*)$ http://website.com/const/$1 [R=302,L]
它正确地重定向到子文件夹,但它仍然重定向我,这很糟糕。
帮助不大?
最佳答案
您可以使用 Skip flag [s]
。这是一个具有多个 IP 的示例。
RewriteEngine on
RewriteBase /
RewriteCond %{REMOTE_ADDR} ^91\.143\.253\.211$ [OR]
RewriteCond %{REMOTE_ADDR} ^8\.8\.8\.8$
RewriteRule .? - [S=1]
RewriteCond %{REQUEST_URI} !^const [NC]
RewriteRule ^(.*)$ /const/$1 [R=302,L]
注意
在之前的示例中,我有 %{REQUEST_FILENAME}
。这通常仅适用于服务器配置文件,其中文件名本身的路径对重定向脚本可见。这里我将其更改为 %{REQUEST_URI}
浏览器实际可以访问的请求部分。
关于html - .htaccess 将所有用户重定向到子文件夹(IP 除外),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18223405/