.htaccess | SEclub.org
.htaccess
Все новые
Всего сообщений: 116
*
Miha
10 июл 2012 в 18:45
"Ну у тебя и .htaccess.." - А что конкретно не так?
"Вставь мою строчку сразу после RewriteEngine On." - не помогло.
*
ImIeee
10 июл 2012 в 20:34
Miha: "Ну у тебя и .htaccess.." - А что конкретно не так?
"Вставь мою строчку сразу после RewriteEngine On." - не помогло.… Подробнее
Ну, я лично кое-что бы оптимизировал. Впрочем, каждому свой код больше нравится. :-) Насчет твоего вопроса - похоже Apache после замены адреса делает "internal request" и заменяет все заново. Для отличия этих запросов можно применять, например, переменные окружения, но лучше, наверное, использовать то, что сам HTTP запрос остается неизменным... Попробуй так -
RewriteCond %{THE_REQUEST} (?:auth|article)\.php/?\ HTTP/\dПЛЮС\.\dПЛЮС$
RewriteRule $ /index.php? [L]
10 июл 2012 в 20:36 / ImIeee (1)
*
Miha
10 июл 2012 в 20:36
"Ну, я лично кое-что бы оптимизировал" - Что например?
*
Miha
10 июл 2012 в 20:42
RewriteCond %{THE_REQUEST} (?:auth|article)\.php/?\ HTTP/\d\.\d$
RewriteRule $ /index.php? [L]

Это уже работает. Т.е. я перехожу по miha.ru/auth.php и сервер возвращает интернал еггог. Но при переходе по miha.ru/auth.php?logout всё происходит нормально. Конечно, отчасти это из-за того, что есть ссылка, которая на это ссылается. Но переходит же по нечпушному адресу :)
*
ImIeee
10 июл 2012 в 20:43
Miha: "Ну, я лично кое-что бы оптимизировал" - Что например?… Подробнее
Например - NC расшифровывается, как No Case. Зачем писать одновременно его и a-zA-Z ? Мой код, кстати, работает?
*
ImIeee
10 июл 2012 в 20:57
Блин, забыл про Query String. :( Вместо \.php\ нужно поставить \.php.*?\
10 июл 2012 в 20:58 / ImIeee (1)
*
Miha
10 июл 2012 в 20:59
ImIeee, да, работает теперь, спасибо. .порукам.
P.S. Никода так не радовался 500-й ошибке.
10 июл 2012 в 21:00 / Miha (1)
*
ImIeee
10 июл 2012 в 21:05
Еще перед первой скобкой лучше поставить ^[^?]* чтобы не было ложных срабатываний, типа /auth/?file=auth.php С 500 - вообще хз, у меня ее нет. Надо будет полностью скопировать твой .htaccess
10 июл 2012 в 21:07 / ImIeee (1)
*
FisHlaBsoMAN
10 июл 2012 в 21:05
Miha: ImIeee, да, работает теперь, спасибо. .порукам.
P.S. Никода так не радовался 500-й ошибке.… Подробнее
))) бывает же
*
ImIeee
11 июл 2012 в 08:22
В общем, ошибка выскакивает, только если .htaccess в корне. :-( Нужно слегка изменить условие. Напишу сразу полный код:
RewriteCond %{THE_REQUEST}%{REQUEST_URI} ^[^?]ЗВЕЗДОЧКА?(?:auth|article|registration)\.php.ЗВЕЗДОЧКА?\ HTTP/\d\.\d/?(?!index\.php)
RewriteRule $ /index.php? [L]
Надеюсь, больше косяков нет.
11 июл 2012 в 08:26 / ImIeee (2)
*
ImIeee
11 июл 2012 в 09:44
ImIeee: В общем, ошибка выскакивает, только если .htaccess в корне. :-( Нужно слегка изменить условие. Напишу сразу полный код:
RewriteCond %{THE_REQUEST}%{REQUEST_URI} ^[^?]ЗВЕЗДОЧКА?(?:auth|article|registration)\.php.ЗВЕЗДОЧК… Подробнее
Хотя, все же ошибки есть... Вот так -
RewriteCond %{THE_REQUEST}%{REQUEST_URI} ^[^?]ЗВЕЗДОЧКА?(?:auth|article|registration)
\.php.ЗВЕЗДОЧКА?\ HTTP/\d\.\d(?!/index\.php)
RewriteRule $ /index.php? [L]
Или вот - более оптимизированный вариант, но менять имена файлов нужно в двух строчках.
RewriteCond %{THE_REQUEST} ^[^?]ЗВЕЗДОЧКА?(?:auth|article|registration)\.php.ЗВЕЗДОЧКА?\ HTTP/\d\.\d$
RewriteRule (?:auth|article|registration)\.php/?$ /index.php? [L]
11 июл 2012 в 09:48 / ImIeee (2)
*
Miha
11 июл 2012 в 11:51
Жесть, спасибо. А есть какие-нибудь хорошие уроки/статьи по настройке .htaccess? К примеру, я не понимаю разницу между RewriteCond и RewriteRule. Нагуглить и сам могу что-нибудь, просто если есть проверенные источники, то лучше по ним учиться.
Скачать тему
Для полноценного использования разделов сайта войдите или зарегистрируйтесь.
Создание сайтов и программирование | Компьютеры | Форум | Главная
18+ © Seclub.org 2003-2024