我将在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=$
它什么也没做,没有失败,但它没有用。
答案 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]