- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
В указанном выше случае POST работать не будет, так как параметры передаются через GET.
По-моему, я именно об этом и написал.
Т.е. выход тут один - свои все адреса приводить к ЧПУ, т.е. вместо /file.php?pas=44 сделать /file44.php и все?
Нет команд именно типа исключений, что для файлов вида
/file.php - знак вопроса может быть, а для остальных
RewriteBase /
RewriteCond %{QUERY_STRING} ^.+$
RewriteRule (.*) ----.html [L]
?
Т.е. выход тут один - свои все адреса приводить к ЧПУ, т.е. вместо /file.php?pas=44 сделать /file44.php и все?
Нет команд именно типа исключений, что для файлов вида
/file.php - знак вопроса может быть, а для остальных
RewriteBase /
RewriteCond %{QUERY_STRING} ^.+$
RewriteRule (.*) ----.html [L]
?
Вариантов множество:
Вот примеры:
RewriteEngine on
RewriteRule ^file([^(.*)]*)\.html$ /file.php?pass=$1
RewriteRule ^file([^(.*)]*)\/$ /file.php?pass=$1
RewriteRule ^file\/([^(.*)]*)\.html$ /file.php?pass=$1
RewriteRule ^file\/([^(.*)]*)\/$ /file.php?pass=$1
Ну и насоветовали тут... Vodoleev, я вам написал два признака, по которым можно наверняка исключить инклуд-запросы, кстати я не вижу где результат проверки по ай-пи адресу?
Нет команд именно типа исключений, что для файлов вида
/file.php - знак вопроса может быть, а для остальных
Либо вы путаетесь в своем тз, либо неправильно вначале его озвучили. Если для /file.php QUERY_STRING может быть в любом виде, и инклуд и прямые запросы, то это решается очень просто
RewriteEngine On
RewriteCond %{QUERY_STRING} !^$
RewriteCond %{REQUEST_URI} !^/file\.php$
RewriteRule (.*) /$1? [R=301,L]
^file([^(.*)]*)
Жесть.
Art-Host, перечитайте еще раз задание.
siv1987, спасибо, пробую, но что-то не так.
Надо:
1. Чтобы в коде инклуды с параметрами после ? работали
2. Чтобы "файлы-исключения" работали тоже с ? при переходе по сайту, в адресной строке
3. Все остальные файлы, при дописывании к ним ?blabla, чтобы не работали.
Код
RewriteCond %{QUERY_STRING} !^$
RewriteCond %{REQUEST_URI} !^/file\.php$
RewriteRule (.*) /$1? [R=301,L]
работает, но вот что смущает:
1. Если к файлу http://site.ru/file.htm дописать ?333333 - то редиректит на http://site.ru/file.htm Супер.
2. НО! Работают и все инклуды, и файлы в подпапках вида http://site.ru/papka/papka2/script.php?pam=44 хотя в .htaccess я эти файлы НЕ перечислил еще даже, просто скопировал ваш код для несуществующего file.php
RewriteCond %{QUERY_STRING} !^$
RewriteCond %{REQUEST_URI} !^/file\.php$
RewriteRule (.*) /$1? [R=301,L]
Что тут не так?:)
Не должны.
Либо a) в этих папках есть свой htaccess с включенным/выключенным RewriteEngine b) перед редиректом находятся другие правила мод_реврайта которые перехватывают эти запросы. Добавьте редирект в самом вверху, сразу за rewriteengine
Проверил, в адресной строке действительно теперь не работает, если нет исключения в RewriteCond %{REQUEST_URI} !^/file\.php$ или нет в папке с файлом своего .htaccess
А инклуды работать должны любые? Просто в папках, где инклудящиеся файлы, нет .htaccess, но они работают:) В общем-то и так хорошо, просто для понимания процесса интересуюсь:)
А инклуды работать должны любые?
Хз, я смотрел на php-include, про ssi ничего не скажу.