2011-03-22 38 views
1

我需要帮助我的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 

但是,当IM指向 “管理”

http://example.com/admin/ 

我已经试过

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

但它不工作不是路由到该页面。有什么想法吗?

回答

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

被叫网址
+0

只是注意到你在$ 1中是正确的,规则先处理,然后检查条件。他们可能会提及reg-ex的结果 – ppostma1 2011-08-08 21:30:41