【发布时间】:2014-03-23 18:19:34
【问题描述】:
这是我的源代码。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC]
内部服务器错误
服务器遇到内部错误或配置错误,无法完成您的请求。 请通过 admin@example.com 联系服务器管理员告知他们时间 发生此错误,以及您在此错误之前执行的操作。 服务器错误日志中可能会提供有关此错误的更多信息。
【问题讨论】:
-
每当您收到 500 错误时,请查看 Apache 的错误日志。日志中会详细说明。
-
看看这个,我敢打赌这是由于无限的重写循环,因为你在重写时没有
[L]标志。对/thing的请求将导致/thing.php.php.php.php.php.php.php....,直到Apache 放弃。错误日志一定会告诉你的。 -
[2014 年 2 月 22 日星期六 08:53:48.038885] [core:alert] [pid 4540:tid 1588] [client ::1:2173] C:/wamp/www/MIS_Beta/.htaccess : 无效的命令“RewriteEngine”,可能拼写错误或由未包含在服务器配置中的模块定义 - 这是什么意思?
-
好吧,你没有启用 mod_rewrite。见this question for more info
-
启用该模块后,继续将
[NC,L]添加到您的RewriteRule,因为我怀疑您会需要它。
标签: php apache .htaccess mod-rewrite