单个入口点.htaccess显示500内部错误

时间:2015-10-13 21:10:58

标签: php regex apache .htaccess ubuntu

我试图为我的自定义php mvc应用程序创建一个入口点。我在我的ubuntu 14.04操作系统上使用apache2作为php服务器。

我的申请树:

本地主机/ MVC

我。控制器

II。模型

III。视图

IV。根目录

一个。的index.php    湾htaccess的

诉htaccess的

我的根目录.htaccess代码:

<IfModule mod_rewrite.c >
    RewriteEngine on
    RewriteRule ^$ webroot/ [L]
    RewriteRule (.*) webroot/$1 [L]
</IfModule>

和webroot / .htaccess代码:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [PT, L]
</IfModule>

但它显示如下500状态代码:

内部服务器错误 服务器遇到内部错误或配置错误,无法完成您的请求。

1 个答案:

答案 0 :(得分:1)

这一行是问题所在:

RewriteRule ^(.*)$ index.php [PT, L]

因为PT,之后有一个空格。 mod_rewrite语法相当严格,并且不允许在任何地方使用未转义的空格。

您的webroot/.htaccess可以是:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ index.php [PT,L]
</IfModule>