.htaccess(500内部服务器错误) - 删除url中的文件扩展名

时间:2014-02-22 00:30:52

标签: php apache .htaccess mod-rewrite

这是我的源代码。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC]
  

内部服务器错误

     

服务器遇到内部错误或配置错误,无法完成您的请求。   请通过admin@example.com与服务器管理员联系,告知他们时间   发生此错误,以及您在此错误之前执行的操作。   服务器错误日志中可能提供了有关此错误的更多信息。

1 个答案:

答案 0 :(得分:2)

首先确保你的apache上有mod_rewrite。我可以在Linux上解释如何做到这一点,但是因为你在Windows上有WAMP,所以它有所不同,但你肯定可以谷歌找它。

其次,您的RewriteRule缺少[L]标志,这将告诉Apache这是应用于此请求的最后一条规则。但是这个丢失的标志不会导致您在评论中给出错误。因此,首先要查找的是mod_rewrite是否已启用。

正如有人在评论中建议的那样:请看一下这个答案,它全面介绍了如何启用mod_rewrite:https://stackoverflow.com/a/13633635/1297136