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

重写后,所有文件都被解析为PHP,php,.htaccess,mod-rewrite,Php,.htaccess,Mod Rewrite,我的网站位于example.com。 我已经建立了一个基于Laravel的CMS,用于管理小型站点,现在尝试设置重写 在根目录中,my.htaccess具有: RewriteRule ^(lorem|ipsum)/?(.*) cms/public/$2 [L,PT] 因为我想将example.com/lorem和example.com/ipsum重写为我的CMS。这很好,但是我在cms/public/中有另一个.htaccess: RewriteRule assets/(.*) assets/

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

在根目录中,my.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
这是因为我希望cms/public/assets/可以从
example.com/lorem/any/location/assets/file.css
获得,并将所有其他内容重定向到index.php


似乎可以工作,但是我注意到所有文件,包括图像,都作为
text/html
使用,PHP代码甚至在非PHP文件中执行。为什么会发生这种情况以及如何修复它?

事实上,重写并不是罪魁祸首。我将
使用php54
放入cms/.htaccess,此行前面应该有
:Location*.php
。添加它后,一切都很完美。

如果您对上述规则进行注释,您是否看到这种行为有任何变化?这很聪明。我已经找到了问题所在,它被误用了。htaccess行用于更改PHP版本,而不是mod_rewrite。