除IP之外的htaccess重定向

时间:2015-12-11 08:06:51

标签: apache .htaccess mod-rewrite redirect url-rewriting

我尝试使用.htaccess。

假设我的网站是example.com,

我希望重定向每个example.com/anypage.php或example.com/anyfolder

到example.com/construction.php

但是有些IP不需要重定向,比如 123.0.1.xxx 和 123.0.2.3

这是我的construction.php

<!DOCTYPE html>
<html lang="en">
<head>
<title>example</title>
<link rel="icon" href="favicon.ico">
<body>
<div>
    <img src="construction.jpg"/>
</div>
</body>
</html>

这是我的.htaccess

RewriteEngine on

RewriteCond %{REMOTE_ADDR} !^123\.0\.1\. [OR]
RewriteCond %{REMOTE_ADDR} !^123\.0\.2\.3

RewriteCond %{REQUEST_FILENAME} !construction\.php$
RewriteCond %{REQUEST_FILENAME} !construction\.jpg$
RewriteRule ^(.*)$ http://example.com/construction.php [R=301,L]

但它会重定向我的IP。我的.htaccess有问题吗?

1 个答案:

答案 0 :(得分:1)

RewriteEngine on


RewriteCond %{REQUEST_FILENAME} !construction\.(jpg|php)$    
RewriteCond %{REMOTE_ADDR} !^123\.0\.1\. 
RewriteCond %{REMOTE_ADDR} !^123\.0\.2\.3

RewriteRule ^(.*)$ http://example.com/construction.php [R=301,L]