2015-09-03 67 views
0

我有這樣的規則:爲什麼這個mod_rewrite規則不起作用?

RewriteEngine On 
RewriteRule ^([^/]*)$ /?id=$1 [L] 

而且它應該使http://www.somedomain.com/?id=3123123訪問作爲http://www.somedomain.com/3123123但後來我得到一個500錯誤。這是爲什麼?

+0

你的模式只捕獲不以斜線開頭的字符串,但在[http://httpd.apache.org/docs/2.0/misc/rewriteguide。 html]示例,所有字符串都以斜線開頭。 – twinlakes

+0

當您使用RewriteLog和RewriteLogLevel輸出日誌時,通常很容易看到問題。 –

+0

不知道我是否關注。我嘗試了'http://www.somedomain.com?id = 3123123',這也不起作用。這是可能嗎? :( – user1227914

回答

0

我結束了使用此:

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^/index.php 
RewriteRule ^(.*)$ /index.php?id=$1 [L]