Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Apache 2 + mod_rewrire - не срабатывают правила  (Прочитано 1037 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kiav

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
По Инету уже искал, на форуме здесь - тоже.

Все советы сводятся к:

  • Подключению модуля (уже подключен) и перегрузке Apache (аналогично).
  • Также предлагают проверить AllowOverride All (проверено, .htaccess работает)
  • Есть слова о Options +FollowSymLinks (сделано)

Пробовал также настраивать редиректы в конфиге сервера (не виртуального хоста, не Directory). Результат тот же.
При этом модуль то подключен!

На всякий случай проверял на простейшем - делал внешнюю перадресацию при доступе к определенной странице:

RewriteRule /articles.php$ http://example.ru/$1 [R,L]

Решения так и не нашел. При этом никаких ошибок 500. Все игнорируется молча. В .htaccess у меня есть и другие настройки. Если в файле написать что-то не то, то ошибка 500. Он точно подключается.

При этом "провокацию" сделал в блоке

<IfModule mod_rewrite.c>
...
</IfModule>

Это значит и модуль находится. Но почему тогда он не работает?

Все кроме теста закомментировал

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
  RewriteRule /articles.php$ http://example.ru/$1 [R,L]
</IfModule>

Без $ тоже пробовал (мало ли, может совсем ничего в регулярных выражениях не понимаю).

nginx на сервере не используется.

Оффлайн v!tax

  • Старожил
  • *
  • Сообщений: 4154
  • Gentoo x64 bspwm
    • Просмотр профиля
« Последнее редактирование: 13 Ноября 2012, 02:07:43 от [Anonymous] »
господь ведет твою руку, сын мой....

Оффлайн kiav

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Apache 2 + mod_rewrire - не срабатывают правила
« Ответ #2 : 17 Ноября 2012, 01:40:43 »
http://www.opennet.ru/docs/RUS/mod_rewrite/
http://www.opennet.ru/docs/RUS/rewriteguide/
Спасибо, но это совершенно бесполезные советы.
То, что я написал в .htaccess я реально скопировал с другого сервера, где все это работает.
Таких статей я начитался перед открытием этой темы предостаточно.

Интересен опыт тех людей, которые попадали в такую же ситуации и выкрутились из нее. Именно на Ubunta, т.к. я уверен, что есть какие-то тонкости в работе этого модуля Apache именно в этом дистрибутиве. Все универсальные варианты я давно проверил.

Оффлайн kiav

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Apache 2 + mod_rewrire - не срабатывают правила
« Ответ #3 : 27 Ноября 2012, 16:00:18 »
Разобрался в чем дело. Все-таки я делал не так, а не система.

Правило

RewriteRule /articles.php$ http://example.ru/$1 [R,L]

работать не могло в принципе. В нем есть / в начале. Помогла статья на Хабре.

Также мешал контекст в виде других правил. Поставил свое перед ними - все Ok.

Путал и браузер со своим запоминанием редиректов. Так делает не только Firefox. Но он это делает нагло.

 

Страница сгенерирована за 0.021 секунд. Запросов: 22.