.htaccess mod_重写除两个URL之外的所有内容

.htaccess mod_重写除两个URL之外的所有内容,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我试图重写一切,除了下面两个网址到 google.com(可以是任何外部url,但谷歌用于测试) 转到网站上的页面 其他所有内容都会转到google.com 以下是我目前在documentRoot中的.htaccess文件中的内容: RewriteCond %{REQUEST_URI} !^/wp/folder/schedule-the-truck$ RewriteCond %{REQUEST_URI} !^/wp/folder/wp-admin$ RewriteRule .* "htt

我试图重写一切,除了下面两个网址到 google.com(可以是任何外部url,但谷歌用于测试)

转到网站上的页面

其他所有内容都会转到google.com

以下是我目前在documentRoot中的.htaccess文件中的内容:

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

它就是不起作用。所有内容都会转发到google.com,甚至是我负面条件声明中的两个页面。

您应该启用
mod_rewrite
调试日志记录。这可能会告诉您,对于
.htaccess
文件,
请求URI
不是以斜杠开头的。(即使我的假设是错误的,它也会向您显示所有发生的步骤,这会提示您为什么会发生这些步骤。

尝试在重写条件结束时删除
$


由于
wp admin
是一个目录,服务器重定向到
wp admin/
。然后您的重写规则将其重定向到
http://www.google.com/

根据我所读到的关于请求URI的内容,它确实以斜杠开头。问题是我处于共享托管环境中,不允许访问mod_重写调试日志…我的.htaccess文件中的条件似乎没有被评估…因此您认为正常规则会被评估,但只有此规则及其条件不会被评估?在这种情况下,您可以尝试以下组合:
RewriteCond%{REQUEST\u URI}(.*)
with
RewriteRule。http://www.google.com/search?q=%1 [R,L]
。那么您至少知道
REQUEST\u URI
中的内容。
RewriteCond %{REQUEST_URI} !^/wp/folder/schedule-the-truck$  
RewriteCond %{REQUEST_URI} !^/wp/folder/wp-admin$  
RewriteRule .* "http://google.com" [R=301,L]