Как я могу использовать .htaccess, чтобы изменить структуру моего сайта? - PullRequest
0 голосов
/ 01 сентября 2011

Я делаю некоторую реорганизацию на своем веб-сервере и хотел бы изменить способ работы моей структуры. В настоящее время все хранится на самом низком уровне, поэтому, когда я захожу на свой сайт, URL выглядит так:

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

У меня есть много страниц на моем сайте, и я хотел бы переместить их из основной папки. например.

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

однако, я бы хотел, чтобы пользователи не видели раздел / folder / url. Другими словами, когда пользователь посещает мой сайт, я хочу, чтобы он перешел на:

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

Я хочу, чтобы URL всегда отображался без папки /.

Есть ли способ сделать это с помощью файла .htaccess?

Ответы [ 2 ]

3 голосов
/ 01 сентября 2011

Вы можете легко сделать это, используя mod_rewrite .Например:

Options +FollowSymLinks -MultiViews
RewriteEngine On

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

ПРИМЕЧАНИЕ: Это должно быть помещено в .htaccess в корневой папке вашего сайта.При размещении в другом месте может потребоваться небольшая настройка.


ОБНОВЛЕНИЕ:

RewriteCond %{REQUEST_URI} !^/folder/
RewriteRule ^(.*)$ /folder/$1 [L]
0 голосов
/ 01 сентября 2011
RewriteEngine On
RewriteBase /
RewriteRule ^([^/]*)$ folder/$1 [L]
...