2011-03-22 71 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