//надеюсь не ошибся разделов Вопрос такой. На сайт поставили Twilight CMS. Теперь нужно прикрутить туда форум на phpBB. Все это получилось (хотя установка и развертка цмс весьма нетривиально ) НО! Есть одна сложность. Twilight не дает доступ на форум по ссылке вида domen.ru/newforum, т.е. система ищет эту ссылку у себя в системе, ненаходит ее и говорит, что мол такого нет нихрена. Если же вводить конечный пусть, т.е. domen.ru/newforum/index.php, то все работает как надо, отображается главная страница форума. Служба поддержки TWL отказывается сказать, что именно нужно сделать, ссылаясь, что редактируйте файлик .htaccess, а как именно, сами должны знать (что конечно не очень коррекстно с их стороны...). Одна надежда на этот форум. Скажите пожалуйста, что нужно добавить в Код (Text): Options -Indexes -Includes RemoveHandler .html RemoveType .html AddDefaultCharset windows-1251 # START OF BLOCK 1: закомментировать его, если на хостинге нет mod_rewrite # поменять cgi-bin -> нужное название RewriteEngine On # блокировка методов TRACE и TRACK (security issue) RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] RewriteRule ^$ /cgi-bin/get.cgi [L] RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^(.+)$ $1 [L] RewriteCond %{REQUEST_FILENAME}/index.html -f RewriteRule ^(.+)$ $1/index.html [L] RewriteRule !^/cgi-bin/get\.cgi.* - [C] RewriteRule ([^/].*) /cgi-bin/get.cgi?alias=$1 # END OF BLOCK 1 # нумерация с головы поезда # 1. корень перенаправляем на /cgi-bin/get.cgi # 2. если запрашивается существующий файл - # 3. отдаем его # 4. если существующая директория и если в ней есть index.html # 5. переходим на этот index.html # 6. если запрашивается не /cgi-bin/get.cgi с параметрами - тогда # 7. отдаем /cgi-bin/get.cgi как параметр то, что запрашивается # в результате если было /news то получится get.cgi?alias=news, а если # /news/default, то парсер сам разберется что ему делать и все сделает правильно # раскомментировать, если на хостинге нет mod_rewrite # но не использовать тогда внутри шаблонов ссылок вида /alias/template, # например на css и js файлы. #ErrorDocument 404 /cgi-bin/get.cgi #ErrorDocument 403 /cgi-bin/get.cgi # блокируем попытки скачать старые версии скриптов если вдруг они есть на сервере <FilesMatch "\.bak$"> Deny from all </FilesMatch> <FilesMatch "\.old$"> Deny from all </FilesMatch> # блокируем попытки скачать aliases.dat <FilesMatch "^aliases\.dat$"> Deny from all </FilesMatch> чтобы по ссылке domen.ru/newforum отображалась главная страница phpbb. Спасибо)
440Hz что именно нужно написать? в программировании я весьма и весьма посредственно разбираюсь. я пробовал изменить расширение .html на .php - не сработало пробовал Код (Text): RewriteCond %{REQUEST_FILENAME}/index.html -f RewriteRule ^(.+)$ $1/index.html [L] изменить на свои директории. не получилось а по поиску в сети только redirect нашел, а он весь сайт перекидывает ((
вам надо написать правило по которому когда встретиться такой запрос что б mod_rewrite прекратил работу.
mxm317 я бы поставил после RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} !-d и не парился =) это означает что если такая директория существкет апач перейдет туда, а не будет передавать управление дальше.
Вернулся к этому вопросу. Смог написать вот такую штуку: Код (Text): RewriteCond %{REQUEST_FILENAME}/phpforum !-d RewriteRule ^(.+)$ $1/index.php [L] но при запросе domen.ru/phpforum или при domen.ru/phpforum получаю 500 ошибку если вводить полный путь domen.ru/phpforum/index.php то страничка отображается нормально.
Замени Код (Text): RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^(.+)$ $1 [L] на Код (Text): RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.+)$ $1 [L]
lexa спасибо, но не помогло( Когда ввел Код (Text): RewriteCond %{REQUEST_FILENAME} -d снова получил 500 ошибку. потом подправил на Код (Text): RewriteCond %{REQUEST_FILENAME} !-d сайт заработал, но путь domen.ru/phpforum и domen.ru/phpforum/ снова передается на управление twl-cms (
Восклицательный знак означает отрицание. Попробуй так: Код (Text): RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ $1 [L] Без табов, а с жёсткими пробелами. А вообще-то тебе лучше на форум Twilight обратиться.
так тоже не проходит( а там админы жадные. я их вообще не понимаю http://twl.ru/forum/?forum_id=4EC448FD3 ... d61662f36e вот наш диалог. блин, и знакомых прогеров, кто бы мог помоч с этим нет.