Кажется, что правило Mod_Rewrite не работает с запросами к серверу - PullRequest
2 голосов
/ 01 ноября 2011

Я боролся с правилом mod_rewrite, которое, похоже, не работает.Вкратце, я хочу, чтобы следующий URL: www.servername.com/showtest/1 перенаправлял на: www.servername.com/showtest.php?id=1

Я думал, что следующее в моем .htaccess должно получитьредирект работает:

RewriteEngine On
RewriteRule ^showevent/(\w+)/?$  showevent.php?id=$1 [L,R,QSA]

Однако, похоже, он не работает, и я, насколько я вижу, переменные $ _GET и $ _REQUEST в PHP пусты,

Я попытался сделать некоторую отладку, включая множество различных регулярных выражений.Я также включил ведение журнала mod_rewrite, чтобы осмотреться (я работаю на локальном сервере).Вот соответствующие строки:

127.0.0.1 - - [01/Nov/2011:12:25:55 +0100] [127.0.0.1/sid#b7843948][rid#b76d0058/subreq]   (1) [perdir /var/www/1277/] pass through /var/www/1277/showevent.php
127.0.0.1 - - [01/Nov/2011:12:25:55 +0100] [127.0.0.1/sid#b7843948][rid#b76db058/initial] (3) [perdir /var/www/1277/] add path info postfix:    /var/www/1277/showevent.php -> /var/www/1277/showevent.php/1
127.0.0.1 - - [01/Nov/2011:12:25:55 +0100] [127.0.0.1/sid#b7843948][rid#b76db058/initial] (3) [perdir /var/www/1277/] strip per-dir prefix: /var/www/1277/showevent.php/1 -> showevent.php/1
127.0.0.1 - - [01/Nov/2011:12:25:55 +0100] [127.0.0.1/sid#b7843948][rid#b76db058/initial] (3) [perdir /var/www/1277/] applying pattern '^showevent/(\w+)/?$' to uri 'showevent.php/1'
127.0.0.1 - - [01/Nov/2011:12:25:55 +0100] [127.0.0.1/sid#b7843948][rid#b76db058/initial] (3) [perdir /var/www/1277/] add path info postfix: /var/www/1277/showevent.php -> /var/www/1277/showevent.php/1

Кажется, что вместо перезаписи в showevents.php? Id = 1, она переписывается в showevent.php / 1

Я быприветствую любую помощь, которую вы можете оказать.

1 Ответ

1 голос
/ 01 ноября 2011

Это происходит из-за флагов, которые вы используете в своем правиле перезаписи. Вы хотите изменить

[L, R, QSA] просто "[L]"

См. http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriteflags для справки.

...