Последние 2 дня я пытаюсь запустить какое-то приложение на моем компьютере (Ubuntu 11.10, Apache / 2.2.20 (Ubuntu), PHP версии 5.3.6-13ubuntu3.1). Он создан в PHP Smarty и использует правила перезаписи. Все отлично работает с такими ссылками, как:
localhost/news
это правильно переведено на
localhost/news.php
как это должно быть сделано. Но проблема в более сложных ссылках, таких как
localhost/message/inbox
должно быть переведено с правилом:
RewriteRule ^messages/(.*)$ /messages.php?action=$1
Но это не работает. Я пытался отладить это. Я настроен на вход в http.conf
RewriteLog "/home/krzysztofp/rewrite.log"
RewriteLogLevel 3
И что я могу видеть, так это то, что в начале есть
127.0.0.1 - - [16/Mar/2012:15:56:36 +0100] [krzysztofp/sid#7f8218546a30][rid#7f821837a0a0/subreq] (3) [perdir /var/www/engbook/] add path info postfix: /var/www/engbook/messages.php -> /var/www/engbook/messages.php/inbox
и затем он пытается сопоставить message.php
127.0.0.1 - - [16/Mar/2012:15:56:36 +0100] [krzysztofp/sid#7f8218546a30][rid#7f821837a0a0/subreq] (3) [perdir /var/www/engbook/] applying pattern '^messages/(.*)$' to uri 'messages.php/inbox'
Виртуальный хост:
<Directory /var/www/engbook>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
есть идеи, почему это происходит?
EDIT:
У меня есть проблема, чтобы поместить все правила перезаписи в стек, поэтому вот они:
http://pokazkod.pl/d52823d5f0d31ff26e1e29873383d2a2ceb216306a56b3aec1
ни один из них не выглядит мне подозрительно: /