![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Jasmine |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 18.3.2008 Где: Украина Репутация: нет Всего: нет |
Доброго времени суток
У меня возникла непонятная ситуация с htaccess присуствует условие типа RewriteRule ^(.*)/(.*)/(.*)\.html$ /index.php?page=$1&data_index=$2&data_id=$3 [L] в php передаются переменные, например URL site.ru/qq/ww/ee.html => page = qq data_index = ww data_id = ee в принципе все отлично работает, но иногда в переменной page передается странное значение "redirect: index.php" вместо соответствующего значения например site.ru/announce/ww/ee.html => page = redirect:index.php data_index = ww data_id = ee примечательно что на сервере существует файл announce.php если параметр изменить, например site.ru/announcessss/ww/ee.html то все отрабатывает корректно Возможно проблемы в настройке apache, потому что на другом компьютере (у меня нет конфигов с того компа) все работает корректно. сожержание htaccess - Options +FollowSymlinks RewriteEngine on RewriteBase / ErrorDocument 404 /404.html RewriteRule ^(.*)/(.*)/(.*)\.html$ /index.php?page=$1&data_index=$2&data_id=$3 [L] ...... Собственно вопрос - как получить корректную переменную? Заранее благодарю за помощь Это сообщение отредактировал(а) Jasmine - 4.2.2011, 15:00 |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
поищи по коду РНР файлов "header("
можно убедиться, посмотрев rewrite.log, но мне вот уже сейчас думается, что замена происходит корректно, а потом уже PHP скрипт какой-нибудь делает редирект на некорректно сформированный адрес. |
|||
|
||||
Jasmine |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 18.3.2008 Где: Украина Репутация: нет Всего: нет |
Я тоже так решила поначалу, но я вывожу переменные в первой строке index.php, еще никто ничего никуда не успел отредиректить .
|
|||
|
||||
Jasmine |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 18.3.2008 Где: Украина Репутация: нет Всего: нет |
Неужели никто не сталкивался?
|
|||
|
||||
vasac |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: 8 Всего: 36 |
Перенаправьте запрос просто на index.php без всяких GET-параметров. Возьмите в нём URL из $_SERVER['REQUEST_URI'], поделите на компоненты и спокойно разберитесь с ними внутри сценария, не вынося себе мозг выкрутасами мод-рерайта.
Это сообщение отредактировал(а) vasac - 6.2.2011, 17:28 |
|||
|
||||
Jasmine |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 18.3.2008 Где: Украина Репутация: нет Всего: нет |
Попробовала, та же история
если в адресной строке набрать просто буквы - $_SERVER['REQUEST_URI'] - отображается, если $page - реальное значение - echo вообще ничего не выводит Взяла классический вариант - RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php [L,QSA] Это сообщение отредактировал(а) Jasmine - 7.2.2011, 01:13 |
|||
|
||||
vasac |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: 8 Всего: 36 |
Извините, не совсем понял. Я использовал примерно такое, попробуйте, может быть получится:
|
||||
|
|||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |