Pregunta

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:

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?

¿Fue útil?

Solución

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]

Otros consejos

RewriteEngine On
RewriteBase /
RewriteRule ^([^/]*)$ folder/$1 [L]
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top