Mod rewrite 为什么这个mod_重写规则不起作用?

Mod rewrite 为什么这个mod_重写规则不起作用?,mod-rewrite,Mod Rewrite,我有一条规则: RewriteEngine On RewriteRule ^([^/]*)$ /?id=$1 [L] 它应该是http://www.somedomain.com/?id=3123123 可作为http://www.somedomain.com/3123123 但是我得到了一个500的错误。为什么会这样?我最后用了这个: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILE

我有一条规则:

RewriteEngine On
RewriteRule ^([^/]*)$ /?id=$1 [L]
它应该是http://www.somedomain.com/?id=3123123 可作为http://www.somedomain.com/3123123 但是我得到了一个500的错误。为什么会这样?

我最后用了这个:

RewriteEngine on

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

您的模式只捕获不以斜杠开头但以斜杠开头的字符串[示例,所有字符串都以斜杠开头。当您使用RewriteLog和RewriteLogLevel输出一个日志,确切地说明它在做什么时,通常很容易看到问题。我不确定是否遵循。我尝试了http://www.somedomain.com?id=3123123 这也不起作用。这可能吗?:谢谢,我想我已经修好了!编辑啊不:没有工作。我起初以为是因为【L】的原因。但那也不起作用。啊!