0

在我的一个外部 JS 文件中,如果可以从 URL 获取 php 变量,则可以更轻松地编写一些代码。出于这个原因,我尝试编辑 .htaccess 文件,以便 header.php 可以被读取为 header.js。

# Header.php into header.js
RewriteRule ^js/header.php$ js/header.js

但是,当我将以下内容放在文档的开头时,Chrome 的 javascript 控制台说它发现了 404 错误并且无法加载文件。

 <script type="text/javascript" src="/js/header.js?url=<?php echo $url; ?>"></script>

我想了一秒钟,这是因为查询字符串中传递了 GET 变量。但是,当我在此处找到的浏览器中查看 header.js 文件时,它显示 404 错误......让我相信 modrewrite 规则无法正常工作。

有任何想法吗?

4

1 回答 1

0

正如您所写的那样,RewriteRule 期望/js/header.php从浏览器调用 URL,并将其重写为/js/header.js. 这与您想要的相反。试试这个:

RewriteRule ^js/header.js$ /js/header.php [L]

请注意,我还在重写路径的开头添加了一个斜杠 - 这取决于上下文,但您可能需要它。

于 2013-02-18T19:20:49.593 回答