Помощник
|
htaccess mod_rewrite БАГ ПАПОК |
lensoy
|
Сообщение
#1
|
||
|
|
||
|
|||
Degradator |
18.11.2015, 11:15;
Ответить: Degradator
Сообщение
#2
|
|
index.php?page=$1
?page=$1 вот этот костыль лучше убрать, потому что у тебя есть $_SERVER['REQUEST_URI'] [PHP] RewriteEngine On ############## remove or add WWW from url ############### #to add 'WWW' use this: #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] #to remove 'WWW' use this: #RewriteCond %{HTTPS} off #RewriteCond %{HTTP_HOST} !^www\. #RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] #RewriteCond %{HTTPS} on #RewriteCond %{HTTP_HOST} !^www\. #RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L] ######################################################### RewriteCond %{REQUEST_URI} !\.ico$ RewriteCond %{REQUEST_URI} !\.gif$ RewriteCond %{REQUEST_URI} !\.jpe?g$ RewriteCond %{REQUEST_URI} !\.png$ RewriteCond %{REQUEST_URI} !\.bmp$ RewriteCond %{REQUEST_URI} !\.js$ RewriteCond %{REQUEST_URI} !\.css$ RewriteCond %{REQUEST_URI} !\.txt$ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [L,QSA][/PHP] Вот это [PHP] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php[/PHP] проверка не является ли данный запрос запросом на сущесвтующую физически файл/папку |
|
|
lensoy
|
Сообщение
#3
|
|
Огромное спасибо, Degradator! Это то что нужно. В который раз меня выручаете. А то я уже думал весь движок переписывать. Фух!
|
|
|
Degradator |
18.11.2015, 12:11;
Ответить: Degradator
Сообщение
#4
|
|
Это кстати повод задуматься. Когда тебе помогает деградатор.
|
|
|
miketomlin |
18.11.2015, 14:21;
Ответить: miketomlin
Сообщение
#5
|
|
На самом деле часто достаточно условия "если не файл". Уверен, что ТС-у не слишком нужна особая реакция на обращение по адресу site.ru/css, а нужен доступ к файлам в этой и во всех вложенных папках. Кстати, упомянутый редирект site.ru/css в site.ru/css/?page=css происходит из-за вмешательства другого модуля апача. Нужно отключить для папок добавление слеша в конце пути, если вы используете канонические пути без слеша в конце, и использовать абсолютное имя файла-обработчика (начинающееся со слеша) или директиву RewriteBase. Посмотрите на .htaccess, используемый в большинстве наших движков:
<IfModule mod_dir.c> DirectorySlash Off </IfModule> RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.+) [NC] RewriteRule (.*)/*$ http://%1/$1 [R=301,L] RewriteRule (.*)/+$ /$1 [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^.* /index.php -------------------- |
|
|
lensoy
|
Сообщение
#6
|
|
Да-да, я вот об этом как раз хотел дописать. Что нужно слеш отключить. Но вы меня опередили.
А файлы я тоже внутри php обрабатываю. |
|
|
miketomlin |
18.11.2015, 15:22;
Ответить: miketomlin
Сообщение
#7
|
|
|
А файлы я тоже внутри php обрабатываю. Тогда поставьте другое условие, препятствующее зацикливанию, или разместите статические файлы в скрытой/закрытой папке, чтобы условие срабатывало только для файла движка. Хотя зачем пропускать обращения ко всем статическим файлам через движок, мне не понятно.
-------------------- |
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Как перенести правила переадресации из .htaccess в php обработчик nginx? | 0 | KrisGuseva | 2097 | 28.12.2019, 7:33 автор: KrisGuseva |
|
Наладить htaccess на Wordpress | 2 | LebedevStr | 1805 | 25.5.2017, 14:14 автор: LebedevStr |
|
WebKit баг или что это? | 0 | Fatush | 1267 | 19.5.2013, 16:00 автор: Fatush |
|
Кто найдет как исправить баг, оплачу 2000 руб. | 13 | zakaznik | 5804 | 3.11.2011, 16:34 автор: zakaznik |
|
Небольшей баг в шаблоне DLE Помогуте исправить) |
9 | Simur | 3476 | 17.1.2011, 10:56 автор: Simur |
Текстовая версия | Сейчас: 25.4.2024, 3:58 |