开发者

How do I use .htaccess to change the structure of my website?

I'm doing some reorganizing on my web server and would like to change the way my structure works. Currently, everything is stored at the lowest level so that when I access my site the url looks like this:

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

I have many pages in my site and i would like to move them out of the main folder. eg.

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

however, I would like for users not to see the /folder/ section of the url. In other words, when a user visits my site, I want him to navigate to开发者_JAVA技巧:

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

but actually be at

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

I want the url to show without the /folder at all times.

Is there a way to do this with the .htaccess file?


You can easily do this using mod_rewrite. For example:

Options +FollowSymLinks -MultiViews
RewriteEngine On

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

NOTE: This is to be placed in .htaccess in your website root folder. If placed elsewhere some small tweaking may be required.


UPDATE:

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


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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜