.htaccess mod_重写除两个URL之外的所有内容
我试图重写一切,除了下面两个网址到 google.com(可以是任何外部url,但谷歌用于测试) 转到网站上的页面 其他所有内容都会转到google.com 以下是我目前在documentRoot中的.htaccess文件中的内容:.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
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}(.*)
withRewriteRule。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]