![]() |
|
![]() ![]() ![]() |
|
maneken |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 27.9.2007 Репутация: нет Всего: нет |
Доброго времени суток
Я делаю админку для сайта и использую mod_rewrite. Ошибка заключается в том, что не проходят переменные или проходят, но дописывают к значению переменной ".php"(т.е. значение 1-ой переменной меняется на "значение.php"). Подскажите пожалуйста в чем ошибка и как правильно сделать Вот мой htaccess файл: ================= AuthType Basic AuthName "admin" AuthUserFile "/home/.htpasswds/admin/passwd" require valid-user RewriteEngine On RewriteRule ^admin/(.+)/(.+)/?$ admin/index.php?переменная1=$1&переменная2=$2&переменная3=$3 RewriteRule ^admin/(.+)/?$ admin/index.php?переменная1=$1&переменная2=$2 RewriteRule ^admin/?$ admin/index.php?переменная1=$1 Раположение папок: =============== папка админки находится в корне сайта ( admin/ ) На адрес admin/ проиходит вход в админку |
|||
|
||||
ewolf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: нет Всего: 18 |
Во-первых, число переменных $n не соотвествует числу подмасок.
Во-вторых, например правило RewriteRule ^admin/(.+)/?$ admin/index.php?переменная1=$1&переменная2=$2 приведет к тому, что запрос admin/file.php будет распознан как верный и первая переменная примет значение file.php В-третьих, обрати внимание, что процесс обработки правил выполняется итеративно, поэтому, пройдя первый цикл и преобразовав урл admin/... в admin/index.php?... процесс проверки запустится еще раз. Попробуй добавить в конец каждого правила флаг [L]. |
|||
|
||||
maneken |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 27.9.2007 Репутация: нет Всего: нет |
я не дописал подмаски только в форуме...
а почему запрос admin/file.php будет верным ? (как исправить?) почему цепляется за файлы, когда передаются переменные? |
|||
|
||||
ewolf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: нет Всего: 18 |
Вот такой кусок регулярного выражения
(.+)/? соотвествует любым строкам a a/ a.ext a.ext/ и т.д. напиши так ([a-z0-9]+)/? |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |