2012-12-06 40 views
1

我无法获得此.htaccess工作,因为存在一些我无法确定的语法错误。当我访问该网站,它打印Internal Server ErrorRewriteCond:坏标记分隔符

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在以模拟网站中的“维护模式”

+0

如果您未显示请求的URL,则无法猜测转换的模式。尝试在浏览器地址栏中输入URL(或通过其他方式请求)以及所需的替换(实际)URL的示例。 –

+0

@FelipeAlamedaA,发布更新的细节。我认为这个网址是无关紧要的 – manix

回答

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不能是模式中​​的那个。也可以使用[307,L]进行临时重定向。

+0

嗯,这个问题到底是什么? “REQUEST_URI”或“#”? – manix

+0

#开始评论,所以没有什么区别。另一方面,要执行重写规则需要请求URI,但请求的URL没有URI。 –

+0

比你这么多你的帮助:)我真的很感谢你的时间 – manix

相关问题