[英].htaccess: redirect all pages except one not working
我试图通过通配符为所有页面设置重定向,除了一个特定情况。 我尝试过以下方法:
RewriteCond %{HTTP_HOST} ^(www\.)?old\.com$
RewriteCond %{REQUEST_URI} !^/menu
RewriteRule ^(.*)$ "http\:\/\/www\.new\.com\/$1" [R=301,L]
我期待的是
old.com -> new.com
old.com/abc - > new.com/abc
old.com/menu -> old.com/menu
所有重定向都工作正常,除了:
old.com/menu -> old.com/http://www.new.com
我无法弄清楚为什么。
编辑:.htaccess的其余部分
RewriteOptions inherit
# Use PHP5.4 as default
AddHandler application/x-httpd-php54 .php
# For security reasons, Option followsymlinks cannot be overridden.
#Options +FollowSymLinks
Options +SymLinksIfOwnerMatch
RewriteCond %{HTTP_HOST} ^(www.)?old.com$
RewriteCond %{REQUEST_URI} !^/web/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /web/$1
RewriteCond %{HTTP_HOST} ^(www.)?old.com$
RewriteRule ^(/)?$ web/ [L]
根据THE_REQUEST
变量尝试此规则:
RewriteCond %{HTTP_HOST} ^(www\.)?old\.com$ [NC]
RewriteCond %{THE_REQUEST} !/menu [NC]
RewriteRule ^(.*)$ http://www.new.com/$1 [R=301,L,NE]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.