Kuliev
23.11.2015 - 10:31
Добрый день коллеги. Проблема с ЧПУ, не пойму почему не работает.
.htaccess
AddDefaultCharset utf-8
RewriteEngine on
RewriteBase /
//НЕ СРАБАТЫВАЮТ ЭТИ СТРОЧКИ
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php
При заходе на сайт
http://domain.ru/ - Страница отображается корректно
Далее перехажу на
http://domain.ru/news - Тоже все хорошо, но как только добавляешь в конец слэш апач начинает думать что это ПАПКА в итоге вся разметка едет. В консоле хрома получается:
http://domain.ru/news/tpl/css/style.cssЕсли передает параметр контроллеру
http://domain.ru/news/33/ то в шаблоне получается
http://domain.ru/news/33/tpl/css/style.cssи .т.д.
bestxp
23.11.2015 - 11:23
пиши абсолютные пути до css а не относительные
не css/some.style.css
а /css/home.style.css это как минимум тебя избавит от проблемы
Kuliev
23.11.2015 - 11:44
Цитата (bestxp @ 23.11.2015 - 11:23) |
пиши абсолютные пути до css а не относительные не css/some.style.css а /css/home.style.css это как минимум тебя избавит от проблемы |
Сейчас прописал полный путь начиная с
http://domain.ru/tpl/css/style.cssШаблон корректно отображается.
Но при этом позволяет заходить в каталоги, хотя не должен!
Игорь_Vasinsky
23.11.2015 - 12:28
чё это) ты разве запретил это серверу?
Цитата |
Но при этом позволяет заходить в каталоги, хотя не должен! |
ну пустой файл index.html в директориях - которые ты не хошь показывать избавит тебя от этого ужаса.
или добавляй заглушки директорий без индексных файлов с помощью .htaccess
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Kuliev
23.11.2015 - 13:08
Цитата (Игорь_Vasinsky @ 23.11.2015 - 12:28) |
чё это) ты разве запретил это серверу?
Цитата | Но при этом позволяет заходить в каталоги, хотя не должен! |
ну пустой файл index.html в директориях - которые ты не хошь показывать избавит тебя от этого ужаса.
или добавляй заглушки директорий без индексных файлов с помощью .htaccess
|
Спасибо, вроде разобрался. Добавил директиву чтобы не индексировать каталоги. В остальном вроде работает.
В шаблоне пришлось прописать полный путь до файлов, только после этого шаблон начал отображаться корректно.
inpost
23.11.2015 - 15:21
KulievТы, наверное, добавил: Options -Indexes
Я когда себе составлял .htaccess , прочитал много примеров правильного .htaccess + заглянул как делают в популярных CMS + FW. Думаю, и тебе надо уделить этому часик-другой.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Возвращаясь к самому первому вопросу.
А код
RewriteCond %{REQUEST_URI} ^(.*)[/]$ [NC]
RewriteRule ^(.*)$ http://mysite.ru/%1
в htaccess не поможет?