2010-11-13 49 views
0

我试图重写所有的东西,除了下面两个网址google.com(可能是任何外部网址,但谷歌测试) 。mod_rewrite除了两个网址之外的所有东西

w3ink.com/wp/folder/wp-admin 
w3ink.com/wp/folder/schedule-the-truck 

转到网站上的页面。

一切都会到google.com

下面是我在我的.htaccess文件至今的DocumentRoot:

RewriteCond %{REQUEST_URI} !^/wp/folder/schedule-the-truck$ 
RewriteCond %{REQUEST_URI} !^/wp/folder/wp-admin$ 
RewriteRule .* "http://google.com" [R=301,L] 

这是行不通的。所有内容都会转发到google.com,即使是我的否定条件声明中的两个页面。

回答

1

您应该启用mod_rewrite调试日志记录。这可能会告诉你,对于.htaccess文件,REQUEST_URI不以斜杠开始。 (即使我的假设是错误的,它会告诉你发生的所有步骤,这应该给你一个提示为什么他们发生。

+0

基于我所读到REQUEST_URI,它不以斜线开始。问题是,我在一个共享主机环境,我不允许访问mod_rewrite调试日志......它看起来像condi tions在我的.htaccess文件甚至没有评估。 。 。 – rciiipo 2010-11-13 23:41:59

+0

所以你认为正常的规则是评估的,但只有这个规则与它的条件不是?在这种情况下,您可以使用'RewriteRule'尝试以下组合:'RewriteCond%{REQUEST_URI}(。*)'。 http://www.google.com/search?q=%1 [R,L]'。那么你至少知道'REQUEST_URI'中有什么。 – 2010-11-14 17:10:56

0

试着在改写条件除去末端的$

因为wp-admin是一个目录,服务器重定向到wp-admin/。然后你重写规则重定向,为http://www.google.com/

相关问题