.htaccess $ _GET-Redirection不起作用

时间:2014-05-28 12:06:01

标签: php .htaccess mod-rewrite apache2 webserver

我将在mod_rewrite

的帮助下重定向此网址
http://www.example.org/site/asd 

http://www.example.org/index.php?site=asd

在我的网络服务器上,mod_rewrite已启用,但我的示例不起作用:(。htaccess)

RewriteEngine on 
RewriteRule ^(.*)/site/$ index.php?site=$

它什么也没做,没有失败,但它没有用。

2 个答案:

答案 0 :(得分:1)

让我们分解

RewriteRule ^(.*)/site/$ index.php?site=$

规则只会匹配以下网址:

http://example.com/yada/yada/site/
http://example.com/something/site/

这是您想要的,所以请使用以下规则:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^site/(.*)$ index.php?site=$1 [L,QSA]

符合以下规则:

http://example.com/site/yada/yada/
http://example.com/site/something/site/
http://example.com/site/no/slash
http://example.com/site/with/params/?abc=efg

答案 1 :(得分:0)

尝试重写为,

RewriteRule ^(.*)/site/([a-z]+)$ index.php?site=$1 [L]