2010-06-30 183 views
0

我只是重建当前位于URL htaccess的重写

http://domainnamehere.com/v2

现有站点位于

http://domainnamehere.com/

我需要设置重定向,以便网站当有人前往旧网站时,它会重定向到新网站。我这样做的htaccess文件:

Redirect /index.html http://domainnamehere.com/v2/ 

但这只是重定向网页,而不是网站的其余部分。我还有另一个链接到一个单独的域的目录。上述htaccess代码重定向http://anotherdomain.comhttp://domainnamehere.com/v2。我不希望它重定向其他域名。因为它重定向其他域名是因为这些文件位于domainnamehere.com上的目录中。我希望这是有道理的!

如果有人去http://domainnamehere.com/somethinghere我也希望它重定向到将位于404错误页面在http://domainnamehere.com/v2/somethinghere

基本上,我需要对这种情况适当htaccess的代码!

+0

那么你想重定向所有请求到你的根目录中的所有文件,但不重定向的根目录中的文件夹?或者是否还有某些您不想重定向的文件?如果是这样,你可以创建一个白名单或黑名单。白名单只是您想要重定向的页面列表,或者黑名单将是您不想重定向的文件列表。 – William 2010-06-30 17:56:50

+0

是的,这是正确的,在一个文件夹的根目录EXCEPT中的所有请求。我可以从规则中排除fodler吗? – JCHASE11 2010-06-30 17:59:31

+0

所以是的,黑名单是解决这个问题的方法,我该怎么做? – JCHASE11 2010-06-30 17:59:50

回答

0

这应该转发{什么是你削减后}到/ V2/{无论是你削减后}

RewriteCond %{HTTP:Host} ^domainnamehere\.com$ 
RewriteRule /(.*) domainnamehere\.com/v2/$1 

编辑:这是一个ISAPI重写,但如果你是使用mod_rewrite语法类似。

+0

这导致了一个错误(当然我用适当的域名取代了域名) RewriteCond%{HTTP:Host}^domainhere.com $ RewriteRule /(.*)domainhere.com/v2/$1 – JCHASE11 2010-06-30 18:02:05

+0

500内部服务器错误确切 – JCHASE11 2010-06-30 18:02:29

+0

感谢您的更新,但仍然没有运气: 禁止 您没有权限访问/此服务器上。 – JCHASE11 2010-06-30 18:06:06

2
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www\.)?domainnamehere\.com [NC] 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/v2/$1 [R=301,L] 

注意:jfrobishow技术上先回答了这个问题,这只是一个修复。

编辑:添加了可选的www。