2012-01-06 191 views
0

我遇到了一些麻煩,我的mod_rewrite規則。下面是我有:htaccess mod_rewrite規則

RewriteRule ^admin ?page=admin [NC] 
RewriteRule ^welcome ?page=welcome [NC] 

這改變的URL如下:

http://localhost/index.php?page=admin -> http://localhost/admin 
http://localhost/index.php?page=welcome -> http://localhost/welcome 

它的工作原理,但我只是想寫一個規則,因爲該頁面(歡迎或管理員)是一個變量。

我已經試過了都不行:

RewriteRule ([^/]+) ?page=$1 [NC] 

我在做什麼錯?

+0

我找到了解決辦法(*):?重寫規則^([^/] *)$ index.php?page = $ 1 [NC] – 2012-01-06 11:08:22

+0

它似乎並不想工作,直到我添加index.php。沒有它,我得到了來自Apache的錯誤配置錯誤。 – 2012-01-06 11:09:44

回答

0

我認爲你的正則表達式是破壞性的。

這傢伙應該讓你有點接近...

重寫規則^ $ {https://% HTTP_HOST} /頁= $ 1

+0

這似乎沒有爲我做任何事情。我甚至將https改爲http。 – 2012-01-06 10:59:32

+0

好的,這對我來說是個竅門:RewriteRule ^([^ /] *)$ index.php?page = $ 1 [NC] – 2012-01-06 11:05:11