[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ЧПУ mod_rewrite
Kuliev
Добрый день коллеги. Проблема с ЧПУ, не пойму почему не работает.

.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
пиши абсолютные пути до css а не относительные
не css/some.style.css
а /css/home.style.css это как минимум тебя избавит от проблемы
Kuliev
Цитата (bestxp @ 23.11.2015 - 11:23)
пиши абсолютные пути до css а не относительные
не css/some.style.css
а /css/home.style.css это как минимум тебя избавит от проблемы

Сейчас прописал полный путь начиная с http://domain.ru/tpl/css/style.css
Шаблон корректно отображается.

Но при этом позволяет заходить в каталоги, хотя не должен!
Игорь_Vasinsky
Цитата
, хотя не должен!

чё это) ты разве запретил это серверу?

Цитата
Но при этом позволяет заходить в каталоги, хотя не должен!

ну пустой файл 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
Цитата (Игорь_Vasinsky @ 23.11.2015 - 12:28)
Цитата
, хотя не должен!

чё это) ты разве запретил это серверу?

Цитата
Но при этом позволяет заходить в каталоги, хотя не должен!

ну пустой файл index.html в директориях - которые ты не хошь показывать избавит тебя от этого ужаса.

или добавляй заглушки директорий без индексных файлов с помощью .htaccess

Спасибо, вроде разобрался. Добавил директиву чтобы не индексировать каталоги. В остальном вроде работает.

В шаблоне пришлось прописать полный путь до файлов, только после этого шаблон начал отображаться корректно.

inpost
Kuliev
Ты, наверное, добавил: Options -Indexes wink.gif
Я когда себе составлял .htaccess , прочитал много примеров правильного .htaccess + заглянул как делают в популярных CMS + FW. Думаю, и тебе надо уделить этому часик-другой.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Konung
Возвращаясь к самому первому вопросу.
А код

RewriteCond %{REQUEST_URI} ^(.*)[/]$ [NC]
RewriteRule ^(.*)$ http://mysite.ru/%1

в htaccess не поможет?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.