Apache链接目录与PHP执行

时间:2011-11-28 07:38:02

标签: apache mod-rewrite

我在以下代码中有以下代码://localhost/.htaccess ...

AddType application/x-httpd-php5 .css .js

RewriteEngine on
RewriteRule .*\/scripts(.+) scripts$1 [QSA]
RewriteRule .*\/themes(.+) themes$1 [QSA]
RewriteRule !\.(css|xhtml|xml|zip)$ rewrite.php

目标:能够将:// localhost / scripts /和:// localhost / themes /目录中的文件用于多个站点。使用QSA标志我已经能够访问目录和文件(来自两个目录)。

因此...

://本地主机/ SITE1 /脚本/

://本地主机/站点2 /脚本/

......两次访问......

://本地主机/脚本/

...当然还有目录中的所有文件。

问题:我不确定如何使用此设置调整.js和.css文件中的PHP执行。在我当前的设置中,我让文件使用PHP覆盖mime / media类型。我尝试重新排序代码失败,所以我不确定这是一个执行顺序问题。示例中的JavaScript文件作为“application / x-httpd-php5”提供,而不是实际执行PHP。

澄清

  • 文件扩展名的重写规则会被故意截断,因此请忽略它。

  • 这与重定向完全无关。

  • 我尝试了符号链接,但显然alias命令只能在服务器配置中使用。

  • 假设我绝对无法访问服务器配置,我只能使用.htaccess(我最终需要在共享主机的实时环境中镜像)。

  • 我重新安排了命令,甚至在多种组合中使用了单独的.htaccess文件。

1 个答案:

答案 0 :(得分:0)

  

是的,如果我“下载”该文件并查看源代码,我会看到PHP代码和JavaScript。

然后您的AddType字符串不正确。

最简单的方法可能是向提供商询问确切的必需字符串 - 它因服务器而异。

我个人根本不会这样做:它会导致所有css和js文件被PHP解释器解析,这对服务器资源来说并不好。我更愿意指向一个.css.php文件,或创建指向PHP文件的单独mod_rewrite规则,仅用于您真正需要PHP的样式表。