如何使用htaccess从php渲染某些javascript文件

时间:2016-08-14 17:26:35

标签: javascript php .htaccess

所以我还没有找到在我的.htaccess文件中使用的正确结构,以实现我想要实现的目标。

我希望发生的是从文件夹(只有该文件夹)调用的任何javascript文件都是由php文件生成的。我不希望有.php扩展名或为此创建多个文件。

一个例子是

https://www.domain.com/loads/923as0d9f89089asd.js

然后会发送到:

https://www.domain.com/loads/js.php

不想在php上使用$ _GET方法。基本上,php文件检测文件名,然后从那里做它应该做的事情。

在.htaccess文件中设置它的最佳方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:2)

loads/.htaccess内,您可以使用此规则:

RewriteEngine On
RewriteBase /loads/

RewriteRule ^[\w-]+\.js$ js.php [L,NC]

js.php内,您需要使用$_SERVER["REQUEST_URI"]获取原始JS文件名并提供内容。

答案 1 :(得分:0)

你可以有这样的东西(未经测试,可能需要修改):

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/loads/(.*).js$
RewriteRule ^/loads/(.*).js$ http://www.domain.com/loads/js.php?file=$1 [P]

你的js.php脚本将在内部调用,它将从GET接收JS文件名,但用户看不到它。
这将使用带有[P]标志的mod_proxy 更多信息:https://httpd.apache.org/docs/current/rewrite/flags.html#flag_p