- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Мне нужно написать такие директивы, чтобы при обращении к любому файлу на сервере запускался скрипт script.php. Но есть исключения, скрипт не должен запускаться при обращении к файлам с расширениями .txt, .swf, .flv, .ico а так же при обращении к несуществующим файлам.
Погуглила, почитала, но как-то это все сложновато для меня.
По моим понятиям должно работать вот так:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule \.flv$ - [L]
RewriteRule \.ico$ - [L]
RewriteRule \.swf$ - [L]
RewriteRule \.txt$ - [L]
RewriteRule ^(.*)$ script.php [L]
Но в таком варианте обращения к несуществующим файлам тоже передаются скрипту.
Подскажите, в чем ошибка?
RewriteCond действует только на один следующий RewriteRule
Попробуйте так:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule \.(flv|ico|swf|txt)$ - [L]
RewriteRule ^(.*)$ script.php [L]
Попробуйте так:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule \.(flv|ico|swf|txt)$ - [L]
RewriteRule ^(.*)$ script.php [L]
Попробовала. Не работает.
Все запросы к несуществующим файлам передаются скрипту.
Работающим как нужно оказался вариант если поменять местами вторую и третью строки
RewriteEngine on
RewriteRule \.(flv|ico|swf|txt)$ - [L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ script.php [L]
Но правильно ли так писать? Во второй строке получается правило без условия.
Гуру, прокомментируйте пожалуйста. Разобраться хочется.
ну если работает - то нормально :)
Да тут два условия и одино правило нужно, а не наоборот. Что-то в духе
=DEREK= если будет 404 ошибка, то пойдет на обработку через скрипт.