.htaccess根据文件是否存在重写

时间:2017-07-19 14:59:45

标签: php apache .htaccess mod-rewrite

我有一个包含一堆javascript文件的目录。我需要使用PHP生成其中一个文件。因此,我将myfile.js重命名为myfile.js.php,并将此规则添加到.htaccess

RewriteRule myfile\.js$ myfile.js.php

这样,javascript文件的URL仍然是http://www.example.com/directory/myfile.js,就像我在提供静态文件时一样。

我的规则有效。但我不满意必须硬编码文件名。我想编写一条规则,如果任何filename.js的请求进入并且文件filename.js.php(注意.js.php扩展名)存在,我想将filename.js重写为filename .js.php。

1 个答案:

答案 0 :(得分:1)

将此规则添加到htaccess

RewriteCond $1.js.php -f
RewriteRule ([\w\-]+)\.js$ $1.js.php [L]