我在域名www.mydomain.com/alpha/上安装了网站[目录无法立即更改]
问题1: 将请求重定向到www.mydomain.com到www.mydomain.com/alpha/
(一旦重定向发生,其他链接也不应在URL中显示alpha)
问题2: 我网站上的其他链接在网址中有alpha。有没有办法在用户点击任何链接之前删除此alpha。
问题3: 我在www.mydomain.com/alpha2/上有另一个网站,这不应该受到影响。 我把以下.htaccess和这个网站扔了404错误。
RewriteCond $1 !^alpha/
RewriteRule ^(.*)$ /alpha/$1 [L]
答案 0 :(得分:1)
更改站点上的目录会有更好的性能。如果您不能这样做,那么您可以尝试将以下内容添加到您网站的根目录中的.htaccess。
它假设每个站点(alpha和alpha2)都是自包含的,即所有资源(css,js等)分别位于alpha和alpha2目录中。如果不是这样,那么规则可能需要调整
RewriteEngine on
RewriteBase /
### first 301 redirect all /alpha requests to without alpha
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /alpha(/[^\ ]+) [NC]
RewriteRule ^ http://%{HTTP_HOST}%1 [R=301,L]
### next rewrite all requests to alpha
#prevent internal redirects
RewriteCond %{ENV:REDIRECT_STATUS} !200
#exclude alpha2
RewriteCond %{REQUEST_URI} !^/alpha2/ [NC]
RewriteRule ^ alpha%{REQUEST_URI} [L]
这应解决问题1,3。
即使在用户点击任何链接之前,有没有办法删除此Alpha。
它涉及的更多,但是,是的,你可以编写自己的filter。