2013-08-04 3 views
0

У меня возникли трудности с попыткой передать переменную $ _GET (событие), которая является event_id. Веб-сайт построен с использованием PHP и шаблона шаблонов Smarty, а mod_rewrite отлично работает.

Работа ссылка/QueryString:

/event.php?event=2

Rewrite:

/События/2

htacces:

RewriteRule ^/events /? $ /event.php?event=$ 1 [QSA]

При просмотре страницы /События/2 он ищет шаблон 2.inc.html но event.php уже с указанием шаблон как event.inc.html, который должен отображать информацию о событиях из БД.

ответ

0

В htaccess ведущий префикс (включая конечную косую черту префикса) удаляется перед сравнением, поэтому ^/события никогда не могут совпадать. Попробуйте отказаться от первого/в RewriteRule.

Также отбросьте первый $, вход здесь (rewritelog покажет вам) - это/events/2, поэтому никогда не будет соответствовать событиям /? $. Возможно, вы имели в виду^events/(\ d +), чтобы вы могли фактически использовать замену event = $ 1.

+0

Спасибо за быстрый ответ. Я изменил его на ** RewriteRule^events /? $ Event.php? Event = $ 1 [QSA] ** однако он по-прежнему ищет 1.inc.html – Evzman

+0

Также отбросьте первый $, вход здесь (rewritelog покажет вы/is/events/2, поэтому никогда не будет соответствовать событиям /? $. Возможно, вы имели в виду^events/(\ d +), чтобы вы могли фактически использовать замену event = $ 1. – covener

+0

Обновлено до ** RewriteRule^events/(\ d +) \t event.php? Event = $ 1 [QSA] ** это правильно? но все еще ищет шаблон 2.inc.html (извините, что я набрал 1 по ошибке ранее) ... * Предупреждение: Ошибка Smarty: не удалось прочитать ресурс: «2.inc.html» в ... * – Evzman