我现在正在使用mod_rewrite,我正在使用这个
RewriteRule ^.+(css/.+)$ $1 [L]
RewriteRule ^.+(js/.+)$ $1 [L]
RewriteRule ^.+(img/.+)$ $1 [L]
RewriteRule ^.+(fonts/.+)$ $1 [L]
RewriteRule ^.+(swf/.+)$ $1 [L]
现在我只是写css / cssfile.css和js img和东西而且它有效(即使我不认为这是正确的方法)
但是无论如何,我有一个文件夹,名为带有一些PHP文件的函数,我试图用与此相关的文件做同样的事情..但是那并没有变得很好,我想要的原因是我想做的一个文件包含,所以我避免,不必要地制作几行代码。
有谁知道我在说什么,也许知道我应该怎么做?
我很抱歉糟糕的探索(mod_rewrite新手),我试图找出任何好的回复..
答案 0 :(得分:1)
PHP的include
语句无法解析URL或向Apache询问任何信息,因此mod_rewrite
不会以任何方式影响其行为。
您正在寻找的是一种定义文件相对于“文档根”(映射到example.com/
的目录)而不是相对于当前文件的位置的方法。
为此,您可以使用PHP变量$_SERVER['DOCUMENT_ROOT']
,例如
include $_SERVER['DOCUMENT_ROOT'] . '/functions/connect_db.php';
将函数定义移动到文档根目录上面的一个目录也可能是一个想法,这样它们就不能自己作为URL加载。函数dirname()
给出了特定路径的“父”目录,因此您可以使用:
include dirname($_SERVER['DOCUMENT_ROOT']) . '/functions/connect_db.php';