我希望任何请求http://anydomain/users/pete/whatever重定向到http://intranet/users/prp/whatever
我有这个目前工作(在大多数情况下)与。htaccess文件。http://whatever/users/pete/somepage
重定向到http://intranet/users/pete/somepage
。据我所知,一切都很好,只有一个例外。对http://whatever/users/pete
不带斜杠的请求被重定向到http://intranet/users/pete//var/www/users/pete
。
我有一种预感,这是因为对/var/www/users/pete
的请求只会应用/var/www/users/.htaccess
规则(如果它们存在)。相反,Apache正试图提供帮助,并将/var/www/users/pete
指向/var/www/users/pete/
和RewriteBase不被应用?
/var/www/users/pete是我的开发沙盒
虚拟主机文件根目录是/var/www,在配置文件/etc/apache2/sites-available/default中定义
#/var/www/users/pete/.htaccess
RewriteEngine on
RewriteBase /users/pete
RewriteCond %{HTTP_HOST} !^intranet [NC]
RewriteRule ^(.*) http://intranet/users/pete/$1 [L,R=302,NE]
看起来很接近。你可以用这个代码代替吗?
Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteBase /users/prp/
RewriteCond %{HTTP_HOST} !^intranet [NC]
RewriteRule ^(.*)$ http://intranet/$1 [L,R=302,NE]