RewriteCond:坏旗分隔符

时间:2012-12-06 01:46:11

标签: .htaccess mod-rewrite redirect

我无法得到这个.htaccess工作,因为有一些我无法确定的语法错误。当我访问该网站时,它会打印Internal Server Error

RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^201\.191\.20\.108 #
RewriteCond %{REQUEST_URI} !^/mantenimiento\.php$ #
RewriteRule ^(.*)$ http://example.com/mantenimiento.php [R=307,L] #

顺便说一句,在error_log中打印以下错误:

.htaccess: RewriteCond: bad flag delimiters

使用此htaccess的想法是将所有请求从example.com重定向到example.com/mantenimiento.php,以便模拟网站中的“维护模式”

1 个答案:

答案 0 :(得分:1)

以下是一个例子:

请求的网址:

http://example.com

替换网址:

http://example.com/mantenimiento.php

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^201\.191\.20\.108
RewriteRule ^(.*)$ http://example.com/mantenimiento.php [R=301,L] 

由于没有,因此不需要REQUEST_URI。要工作,REMOTE_ADDR不能是模式中​​的REMOTE_ADDR。也可以使用[307,L]进行临时重定向。