htaccess重写规则 - 内部服务器错误

时间:2014-05-06 10:56:56

标签: php .htaccess url mod-rewrite

我遇到问题,我认为应该是一个简单的htaccess重写工作......

当前网址:http://www.website.com/profile.php?id=61338848

所需网址:http://www.website.com/61338848

当前的htaccess代码:

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

上述htaccess的结果为INTERNAL SERVER ERROR:

我还希望它适用于自定义域(如果已设置),但我确信上面提到的解决方案也可以正常工作。

所需网址:http://www.website.com/customdomain

提前致谢。

2 个答案:

答案 0 :(得分:1)

尝试删除文件名前的/,例如:

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

它对我有用。

答案 1 :(得分:1)

我使用了这个.htaccess,它对我有用:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)$ profile.php?id=$1 [L,QSA]

使用QSA标记,您可以添加多个get参数,如下所示:http://www.website.com/61338848?parameter=value

RewriteCond %{REQUEST_FILENAME} !-f检查request_filename是否为文件,如果是,则RewriteRule将不会被执行