2010-04-01 127 views
3

两件事情:htaccess从根目录重定向到子文件夹,然后掩盖网址?

首先 - 我有位于一个文件夹名为V2网站的2版本,我想重定向任何流量不属于V2文件夹的孩子,www.example.com/v2

位于根目录中的旧网站是在iWeb中创建的,并且拥有大量子文件夹和子子文件夹。

所以:

www.example.com/v2 =新网站

www.example.com/Page.html

www.example.com/category/Page.html

ww.example.com/category/subcategory/Page.html =我需要重定向的所有通用示例。

其次,我不知道这是否可能,我想在网址中隐藏/ v2 /,这样访问者只会看到www.example.com/page,尽管它们实际上位于www上.example.com的/ V2 /页

链接是硬编码到V2文件夹,像这样<a href=“V2/contact.html ">

任何帮助是最欣赏的。我花了几个小时试图弄清楚这但我只是刚刚学习有关htaccess和正则表达式,并且完全困惑。

非常感谢!

回答

3
RewriteCond %{REQUEST_URI} !^v2/ 
RewriteRule ^(.*)$ v2/$1 [L] 
+0

非常感谢!这真的帮了我很大的忙!我很感激! – KiwiCoder 2010-04-03 05:31:46

+1

你好,我尝试了一个非常类似的东西。我希望www.example.com重定向到子文件夹www.example.com/ss3,但ss3不应在用户的URL中可见。用你的例子,掩蔽不起作用。很多thanx,弗洛里安 – spierala 2012-09-07 17:17:49

1

通过在其之前包含v2来重写所有内容。

RewriteRule ^(.*)$ v2/$1 [L] 

www.example.com/Page.html should now be processed as /v2/Page.html 

您不应在发送给用户的网址中包含v2 /。

它将进而成为V2/V2/

+0

谢谢您的回答!我可以看到如何工作。对不起,我的问题还没有更清楚 - 我实际上需要做的是将不是v2 /文件夹子目录的任何内容重定向到v2 /文件夹(www.example.com/v2)。无论如何在旧网站(联系人,产品,约等)上的页面,我希望他们都只是重定向到v2 /文件夹的根目录。由于旧网站上的所有子文件夹,我需要找出正则表达式:选择所有如果v2不在url中,则重定向(使用非常不科技的说法):)感谢您的回答! – KiwiCoder 2010-04-01 06:29:51

相关问题