重写后,所有文件都被解析为PHP

时间:2014-01-02 23:22:38

标签: php .htaccess mod-rewrite

我在example.com上有一个网站。 我已经构建了一个基于Laravel的CMS来管理小型站点,现在尝试设置重写。

在根目录中,我的.htaccess有:

RewriteRule ^(lorem|ipsum)/?(.*) cms/public/$2 [L,PT]

因为我想将example.com/lorem和example.com/ipsum重写为我的CMS。这很好,但是我在cms / public /中有另一个.htaccess:

RewriteRule assets/(.*) assets/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule (.*) index.php

那是因为我想从example.com/lorem/any/location/assets/file.css获得cms / public / assets /并将其他所有内容重定向到index.php。

似乎工作,但是我注意到所有文件(包括图像)都作为text/html提供,即使在非PHP文件中也会执行PHP代码。为什么会发生这种情况以及如何解决?

1 个答案:

答案 0 :(得分:0)

事实上,改写并不是罪魁祸首。我将Use php54放入cms / .htaccess中,此行之前应为:Location *.php。添加后,一切都很完美。