mod_rewrite问题 - 将页面路由到查询字符串

时间:2011-03-22 21:08:29

标签: php apache mod-rewrite

我的 mod_rewrite 需要有关我当前正在处理的网站的帮助。

假设我有这个网站http://example.com

我希望能够在/之后设置任何值,如下所示路由到page.php

http://example.com/value1

http://example.com/value2

指向

http://example.com/page.php?id=value1

http://example.com/page.php?id=value2

,分别

但是,当我指向“admin”

时,不会路由到该页面
http://example.com/admin/

我试过

RewriteEngine on
RewriteCond $1 !^(admin)
RewriteRule ^(.*)$ /page.php?id=$1 [L]

但它不起作用。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

条件时

$1不可用。我相信你所寻找的是接近:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^admin/.*
RewriteRule ^(.*)$ page.php?id=$1 [L]

此规则会导致不以admin/开头的所有内容转到/page.php。我不相信%{param}是可选的。使用RewriteBase /表示您不必在//admin上添加/page.php。如果您使用/page.php而不是page.php

,则可能会出现问题

如果您有访问服务器值的方法,那么最终规则可以是:

RewriteRule . page.php [L]

您可以在REQUEST_URI

中找到被叫网址

答案 1 :(得分:0)