如何使用.htaccess更改网站的结构?

时间:2011-08-31 21:01:31

标签: .htaccess dns file-structure

我正在对我的网络服务器进行一些重组,并希望改变我的结构的工作方式。目前,所有内容都存储在最低级别,以便当我访问我的网站时,网址如下所示:

www.example.com
www.example.com/page1.php

我的网站中有很多页面,我想将它们移出主文件夹。例如

www.example.com/folder/
www.example.com/folder/page1.php

但是,我希望用户不要看到网址的/ folder /部分。换句话说,当用户访问我的网站时,我希望他导航到:

www.example.com/page1.php
www.example.com/myfolder1/page1.php
www.example.com/myfolder2/page2.php
www.example.com/anyfoldername/anypagename.php

但实际上是

www.example.com/folder/page1.php
www.example.com/folder/myfolder1/page1.php
www.example.com/folder/myfolder2/page2.php
www.example.com/folder/anyfoldername/anypagename.php

我希望网址在任何时候都没有/文件夹显示。

有没有办法用.htaccess文件执行此操作?

2 个答案:

答案 0 :(得分:3)

您可以使用 mod_rewrite 轻松完成此操作。例如:

Options +FollowSymLinks -MultiViews
RewriteEngine On

RewriteRule ^page1\.php$ /folder/page1.php [L]

注意: 这将放在您的网站根文件夹中的.htaccess中。如果放在其他地方,可能需要进行一些小的调整。


<强>更新

RewriteCond %{REQUEST_URI} !^/folder/
RewriteRule ^(.*)$ /folder/$1 [L]

答案 1 :(得分:0)

RewriteEngine On
RewriteBase /
RewriteRule ^([^/]*)$ folder/$1 [L]