Исключить конкретный тип файлов из обработки.

Статус
В этой теме нельзя размещать новые ответы.
Есть такое понятие ка избыточность
дважды написано
RewriteCond %{REQUEST_FILENAME} !-f
а так если все работает то норма

Мне думалось, что RewriteCond идут перед конкретным RewriteRule и относятся исключительно к нему. Это так или как-то по-другому? ;)

Добавлено через 1 минуту
А еще я попытался добавить правила для автоматического добавления / в конце, если он отсутствует... и что-то опять не так...

Или это слишком избыточная хрень?

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule ^(.*)$ $1/ [L,R=301]
 
Да не надо каждый раз пихать в правило
PHP:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
они раз в начале файла пишутся. :read:

На примере
PHP:
RewriteRule ^(.*)$ $1/ [L,R=301]
где ^(.*)$ - что меняем
$1/ на что меняем
[L,R=301] - модификаторы L - last, R=301 редирект 301

И наконец, поймите Вы что скрипт не понимает ссылки /index.php/news/1/ и /news/19/11/2008/. Он понимает index.php?page=news&id=1 и менять надо на них, остальное это лишние телодвижения которые не идут на пользу ни Вам, ни скрипту, ни серверу. Разбирайте Ваш скрипт по кусочкам и учите матчасть!!
 
Да не надо каждый раз пихать в правило
PHP:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
они раз в начале файла пишутся. :read:

На примере
PHP:
RewriteRule ^(.*)$ $1/ [L,R=301]
где ^(.*)$ - что меняем
$1/ на что меняем
[L,R=301] - модификаторы L - last, R=301 редирект 301

За это спасибо :ay:

Добавлено через 1 минуту
И наконец, поймите Вы что скрипт не понимает ссылки /index.php/news/1/ и /news/19/11/2008/. Он понимает index.php?page=news&id=1 и менять надо на них, остальное это лишние телодвижения которые не идут на пользу ни Вам, ни скрипту, ни серверу. Разбирайте Ваш скрипт по кусочкам и учите матчасть!!

Я работаю с ExpressionEngine, и не вижу более глубоко уровня там, чем /index.php/news/$1/.

либо там еще какая-то обертка... либо все же понимает. Ведь в .htaccess нет больше ничего кроме моих правил. А index.php может разбирать всю строку URI по параметрам.

Только я не понимаю как сервер знает, что это именно index.php если строка выглядит так /index.php/news/1/
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху