2017-08-27 58 views
0

这里是我的.htaccess代码:WAMP和XAMPP给内部服务器错误

RewriteEngine On  
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 
RewriteRule^%1 [R=301,L,NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

<IfModule mod_rewrite.c>  
RewriteRule ^user/([0-9a-ZA-Z]+) user.php?page=$1 [NC,L] 
</IfModule> 

我想删除.PHP从所有网页,我使用上4行,我也想让我的网址更干净,以便扩展我申请最后一行。 但是,当我应用这最后一行时,XAMPP和WAMP都开始显示内部服务器错误。我想知道这是什么原因。

如果我的代码是错误的,那么请建议我如何使URL更干净像波纹管:

http://localhost/project/user?user=ROYAL

我想要做它:

http://localhost/project/user/ROYAL

+2

你好,请删除最后一段或编辑它,因为它似乎是与URL重写问题无关的第二个问题。 – tima

+0

@tima现在,我删除了最后一段,现在可以告诉我什么? – DevROYAL

+0

我正在评论你的帖子。我不是重写URL的专家,但至少现在它不会因太宽泛而关闭。 – tima

回答

0

我从我的兄弟得到了答案: 我只需要更改:

RewriteRule ^user/([0-9a-ZA-Z]+) user.php?page=$1 [NC,L] 

到:

RewriteRule ^user/([\w+\s-]+)$ user?page=$1 

这只是一个Apache的版本问题,反斜杠被加入,以避免逃逸 这个问题被标识为重写规则:不能编译正则表达式