X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> htaccess RewriteRule QSA игнорирует js и css
lensoy
lensoy
Topic Starter сообщение 20.9.2015, 16:33; Ответить: lensoy
Сообщение #1


Нужно, чтобы все ссылки на сайте (существующие и не существующие) вели на одну страницу. Но эта страница должна знать, какой был введен Url, и в зависимости от этого печатала бы ту или иную страницу.

Задача эта успешно реализована с помощью htaccess:
RewriteRule ^(.*)$ goto.php?page=$1 [QSA]

Но есть один минус. Страницы типа page.js и page.css (а может и какие-нибудь другие) она игнорирует и открывает как обычно. Это сильная дыра в безопасности и просто некрасиво.

Друзья, подскажите пожалуйста, что можно сделать.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Degradator
Degradator
сообщение 21.9.2015, 10:52; Ответить: Degradator
Сообщение #2


RewriteCond %{REQUEST_URI} !\.ico$
RewriteCond %{REQUEST_URI} !\.gif$
RewriteCond %{REQUEST_URI} !\.jpe?g$
RewriteCond %{REQUEST_URI} !\.png$
RewriteCond %{REQUEST_URI} !\.js$
RewriteCond %{REQUEST_URI} !\.css$
RewriteCond %{REQUEST_URI} !\.txt$
#RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Degradator
Degradator
сообщение 21.9.2015, 11:02; Ответить: Degradator
Сообщение #3


ну и еще вот это советую добавить

#redirect http://www.* to http://*
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
#redirect httpS://www.* to httpS://*
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
lensoy
lensoy
Topic Starter сообщение 21.9.2015, 20:16; Ответить: lensoy
Сообщение #4


Ого, благодарю! :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
miketomlin
miketomlin
сообщение 21.9.2015, 22:56; Ответить: miketomlin
Сообщение #5


Статику может отдавать фронтальный Web-сервер. Нужно отключать такое поведение или "прятать" от него файлы.

Хотя не пойму, зачем это нужно. Обычно наоборот пишут условие, чтобы сам апач отдавал существующие файлы:
RewriteCond %{REQUEST_FILENAME} !-f
...


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Arks
Arks
сообщение 27.9.2015, 21:17; Ответить: Arks
Сообщение #6


отказался от apache в свое время из-за mod_rewrite.

Как apache обрабатывает запрос?

идет по конфигу rewrite'ов сверху-вниз
1. смотрит на RewriteCond по порядку, если одно не срабатывает то не выполняет следующее RewriteRule
2. идет с этой(следующей за RewriteRule) строки конфига (я опускаю просмотр и инклуд вложенных .htaccess для запроса) дальше по п.1

Что делает apache когда видит у RewriteRule флаг [L] ?
Думаете он на этом останавливается? Фиг Вам!
Опускает п.2 и создает новый внутренний запрос(уже внутри структур apache, ничего общего с внешним http-запросом). По нему (уже с новым url) переходит к п.1 к самому верху конфига, к самому началу пока не найдет реальный ресурс-обработчик.

Резюмируя: не пытайтесь на апаче писать километровые rewrite-конфиги со множеством кондишнов и рулек.. хоть это все и быстро по меркам человека, но по меркам машины это рекурсивный треш

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Разработка/доработка сайтов Wordpress, HTML/CSS/JS
Вёрстка, перенос на WP, правки
9 malamut 3330 25.1.2024, 14:36
автор: malamut
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3291 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Веб-разработка (HTML, CSS)
1 ViktoriaFE 6438 5.5.2021, 5:22
автор: bekett
Открытая тема (нет новых ответов) Разработка адаптивных вебсайтов. HTML/CSS/WordPress(сайты-визитки, лендинги, корпоративные сайты, интернет-магазины).
0 kozak199110 1652 3.3.2021, 12:22
автор: kozak199110
Открытая тема (нет новых ответов) Продам адаптивный шаблон (css/html/js) под cj/tube сайт
2 zaiko 1415 29.12.2020, 23:49
автор: zaiko


 



RSS Текстовая версия Сейчас: 28.3.2024, 20:28
Дизайн