单一入口点通过.htaccess显示500内部错误

问题描述:

我试图为我的自定义php mvc应用程序创建一个入口点。我在我的ubuntu 14.04操作系统上使用apache2作为php服务器。单一入口点通过.htaccess显示500内部错误

我的应用程序树:

本地主机/ MVC

我。控制器

ii。型号

iii。观点

四, webroot

a。 index.php b。的.htaccess

的.htaccess v

我的根目录下的.htaccess代码:

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

而根目录/的.htaccess代码:

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

但它显示为500度的状态下代码:

内部服务器错误 服务器安装导致内部错误或配置错误,无法完成您的请求。

+0

500错误只是一般的“什么是错的”错误的类型。这可能意味着一千件事,但规则可能是你的问题。检查你的apache错误日志以获得更多关于问题的细节。它默认为'/ var/log/Apache2/error.log',并且会有错误的实际原因。 –

+0

我试过了,但还是不行。 500内部错误。 Plz,帮助我长时间忍受痛苦。 –

+0

该日志会抛出以下错误:[Wed Oct 14 03:18:53.569210 2015] [core:alert] [pid 10028] [client :: 1:37363] /var/www/html/mvc/.htaccess:

这条线的问题是:

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>