2012-02-03 234 views
2

我到处搜索并使用了一些示例,但它们不符合我的具体需求,因此为什么我在这里问是否有人可以请帮忙?我知道http :: below不正确,只是因为我无法在此发布链接。在.htaccess中创建一个301重定向到子域的文件夹,并将www重定向到非www www

我想http :: //www.mysite.co.uk/重定向到http :: //mysite.co.uk/ 同时还能够重定向

  1. http :: //www.mysite.co.uk/mysub/ 和2. http :: //mysite.co.uk/mysub/ to 3. http :: //mysub.mysite.co.uk/

1.和2.中的所有文件都应该被重定向到3中的等值线。

例如:http :: //www.mysite.co.uk/mysub/file.html AND http :: //mysite.co.uk/mysub/file.html应该都转到http :: // mysub .mysite.co.uk/file.html

这是仅影响子域,以便站点根中的其他文件夹和文件不受影响。

如果任何人都可以帮助我理解和编写.htaccess文件中301重定向的代码,我真的很感激它!谢谢!

回答

0

这是你需要在你的.htaccess文件中的代码:

Options +FollowSymLinks -MultiViews 
RewriteEngine on 
RewriteBase/

# To redirect http:://www.mysite.co.uk/ to http:://mysite.co.uk/ 
RewriteCond %{HTTP_HOST} ^www\.(mysite\.co\.uk)$ [NC] 
RewriteRule^http://%1%{REQUEST_URI} [R=301,L] 

# To redirect /mysub/foo to http://mysub.mysite.co.uk/foo 
RewriteCond %{HTTP_HOST} ^(www\.)?(mysite\.co\.uk)$ [NC] 
RewriteRule ^(mysub)/?(.*)$ http://$1.%2/$2 [R=301,L,NC] 
+0

谢谢,这会有所帮助,但有一件事不工作: HTTP :: //www.mysite .co.uk/mysub不会去http :: //mysub.mysite.co.uk/ – P3tro 2012-02-03 12:19:42

+0

嗨,http :: //www.mysite.co.uk/mysub现在只需要你到http :: // mysite.co.uk/而不是它应该的子域名? – P3tro 2012-02-03 14:07:47

+0

噢对不起,我认为我犯了一个错误,没有做出/可选。再次编辑我的答案,它现在应该工作。请检查。 – anubhava 2012-02-03 14:20:17

相关问题