2012-01-02 69 views
0

好的,所以,我遇到了.htaccess的問題。。文檔根目錄下的.htaccess錯誤mod_rewrite

比方說,我可以訪問個人資料這樣做:http://website.com/members.php?id=1

所以,後來我想mod_rewrite它轉到這裏:http://website.com/1

所以我加入到我的.htaccess文件:

Options +FollowSymLinks 
RewriteEngine On 

RewriteRule ^([^/]*)$ /members.php?id=$1 [L] 

我訪問http://website.com/1。它不起作用。事實上,我得到一個500錯誤。

所以,我決定嘗試別的。我在前面添加一個前綴user/。因此,它成爲本:

RewriteRule ^user/([^/]*)$ /members.php?id=$1 [L] 

看到新用戶/?我們造訪http://website.com/user/1。有用。奇怪的。

幫助?任何人?

回答

1

加入這一行你重寫規則之前,以防止循環:

RewriteCond %{QUERY_STRING} ^$ 
+0

所以。喜歡這個? http://codepad.org/5bhecEgH原因,這是行不通的......我仍然得到重定向循環 – nn2 2012-01-02 21:49:51

+0

首先在你的代碼中的'RewriteCond'是多餘的,我在這裏重寫它:http://codepad.org/MgagrnQb – anubhava 2012-01-03 03:46:25

1

這可能是因爲你的規則遭受遞歸。您的規則還捕捉並重寫members.php ...

+0

但是...我不不知道該怎麼辦......我見過其他網站有這樣的規則......他們如何做到這一點? – nn2 2012-01-02 05:58:43

1

添加這在規則面前:

RewriteCond %{REQUEST_URI} !^/members.php 
+0

我離開members.php時得到這個錯誤'這個網頁有一個重定向循環' – nn2 2012-01-02 16:20:05

相關問題