Php mod_rewrite-文件夹的绝对路径
我正在使用mod_rewrite,现在我正在使用这个Php mod_rewrite-文件夹的绝对路径,php,apache,mod-rewrite,Php,Apache,Mod Rewrite,我正在使用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之类的东西,它就可以工作了(即使我认为这不是正确的方法) 但无
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之类的东西,它就可以工作了(即使我认为这不是正确的方法)
但无论如何,我有一个名为functions的文件夹,其中包含一些PHP文件,我试图用我用这个文件创建的文件夹来创建它。。但这并不是很好,我想要这样做的原因是我想创建一个包含includes的文件,所以我避免了不必要地生成几行代码
有人知道我在说什么吗?也许有人知道我该怎么做
我很抱歉解释不好(mod_rewrite新手),我尝试在没有任何良好响应的情况下进行搜索。PHP的
include
语句不会解析URL或向Apache请求任何信息,因此mod_rewrite
不会以任何方式影响其行为
您正在寻找一种方法来定义文件相对于“文档根”(映射到example.com/
)的位置,而不是相对于当前文件的位置
为此,您可以使用PHP变量$\u SERVER['DOCUMENT\u ROOT']
,例如
include $_SERVER['DOCUMENT_ROOT'] . '/functions/connect_db.php';
也可以将函数定义移到文档根目录上方的一个目录中,这样它们就不能单独作为URL加载。该函数提供特定路径的“父”目录,因此您可以改为使用:
include dirname($_SERVER['DOCUMENT_ROOT']) . '/functions/connect_db.php';
你能解释一下你所说的“进展不太顺利”是什么意思吗?你尝试的代码是什么,发生了什么?我也不清楚您想做什么,因为PHP的
include
语句与mod_rewrite
完全无关。另一方面,这些规则是否只是为了让您可以在HTML中使用href=“CSS/cssfile.CSS”
包含CSS文件等,但仍然可以从根目录获取它们?如果是这样,为什么不直接使用href=“/css/cssfile.css”
?这样做对浏览器缓存非常不利,例如,当你在网站上点击时,同一个CSS文件将出现在不同的URL上。使用此代码,我只需编写CSS/文件,现在我希望函数映射也使用此代码,现在我的PHP文档中有这段代码:。/../functions/connect_db.PHP
我真的希望它能像这样工作:functions/connect_db.PHP
看起来你想在函数中自动加载你的类。对于这一点,您可能希望使用php autoload和autoload,您不必包含您的类。您定义了一个自动加载函数,负责在指定的位置查找包含的类。