我正在尝试使用通配符为所有页面设置重定向,但一个特定情况除外。我已经尝试了以下内容:
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]
答案 0 :(得分:0)
根据fly
变量
THE_REQUEST