ExBB Community » » PHP/Perl » О .htaccess

Страниц (1): [1]
 

1. variant0 - 24 февраля 2014 — 17:43 - перейти к сообщению
Не нашел специального раздела об использовании директив вебсервера Apache и создал тему в разделе о PHP.
Мне пришлось создать свой форум не в корневой директории сайта, а во вложенном каталоге по адресу (здесь адрес моего сайта заменен условным выражением) mydomain.ru/cat/subcat что,конечно, выглядело не очень красиво в адресной строке браузера. Чтобы форум открывался по адресу mydomain.ru и этот адрес отображался в адресной строке воспользовался директивами .htaccess
CODE:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_URI} !\/cat/subcat [NC]
RewriteRule ^(.*)$ cat/subcat/$1

Но при этом сайт, расположенный в корневом каталоге, оказался недоступным. Потребовалось создать и направить на этот же сайт поддомен forum.mydomain.ru (поддомен создан и направлен средствами панели управления хостинга) и добавить директиву в .htaccess
CODE:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} forum.mydomain.ru [NC]
RewriteCond %{REQUEST_URI} !\/cat/subcat [NC]
RewriteRule ^(.*)$ cat/subcat/$1
2. variant0 - 24 февраля 2014 — 18:34 - перейти к сообщению
Надеюсь, что тему продолжат знатоки директив Apache, а также все, кому приходилось применять эти директивы в своих проектах. Расскажите о трудностях, с которыми вы столкнулись, и как вы решили свои трудные задачи.
3. BON - 24 февраля 2014 — 19:06 - перейти к сообщению
зачем такие сложности. Почему бы просто не сделать дополнительный виртуальный хост и сделать чтобы форум был на отдельном субдомене и лежал отдельно от сайта ??!!! лишний редирект - лишняя нагрузка на сервер
4. electron - 25 февраля 2014 — 04:35 - перейти к сообщению
перебросить форум на forum.mydomain.ru и не париться
5. 1Bot - 25 февраля 2014 — 07:18 - перейти к сообщению
variant0 пишет:
пришлось создать свой форум не в корневой директории сайта, а во вложенном каталоге по адресу (здесь адрес моего сайта заменен условным выражением) mydomain.ru/cat/subcat что,конечно, выглядело не очень красиво в адресной строке браузера. Чтобы форум открывался по адресу mydomain.ru и этот адрес отображался в адресной строке воспользовался директивами .htaccess
CODE:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_URI} !\/cat/subcat [NC]
RewriteRule ^(.*)$ cat/subcat/$1

Но при этом сайт, расположенный в корневом каталоге, оказался недоступным. Потребовалось создать и направить на этот же сайт поддомен forum.mydomain.ru (поддомен создан и направлен средствами панели управления хостинга) и добавить директиву в .htaccess
CODE:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} forum.mydomain.ru [NC]
RewriteCond %{REQUEST_URI} !\/cat/subcat [NC]
RewriteRule ^(.*)$ cat/subcat/$1


Можно перед перенаправлением в поддиректорию проверять наличие вызываемых скриптов в самой директории и при их наличии не делать перенаправление.
т.е. добавить еще условия
CODE:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} forum.mydomain.ru [NC]
RewriteCond %{REQUEST_URI} !\/cat/subcat [NC]
RewriteRule ^(.*)$ cat/subcat/$1


Такой вариант может вызвать много путаницы при наличии скриптов с одинаковыми именами в базовой директории и в директории, куда идет перенаправление.

Проще и правильнее будет
BON пишет:
сделать дополнительный виртуальный хост

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0161]     [ ]