我在以下代码中有以下代码://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文件。
答案 0 :(得分:0)
是的,如果我“下载”该文件并查看源代码,我会看到PHP代码和JavaScript。
然后您的AddType
字符串不正确。
最简单的方法可能是向提供商询问确切的必需字符串 - 它因服务器而异。
我个人根本不会这样做:它会导致所有css和js文件被PHP解释器解析,这对服务器资源来说并不好。我更愿意指向一个.css.php
文件,或创建指向PHP文件的单独mod_rewrite
规则,仅用于您真正需要PHP的样式表。