.htaccess 使用Apache重写规则时出现相对文件路径问题

.htaccess 使用Apache重写规则时出现相对文件路径问题,.htaccess,mod-rewrite,path,apache,.htaccess,Mod Rewrite,Path,Apache,我正在尝试创建一些Apache重写规则,这些规则应该能够路由URI请求,例如 http://mydomain.com/articles/example至 http://mydomain.com/index.php?site=articles&page=example 到目前为止,我得到的是: RewriteRule^/?([a-zA-Z]+)/([a-zA-Z0-9]+).html$index.php?site=$1&page=$2[L] RewriteRule^/?([a-zA-Z]+)/([

我正在尝试创建一些Apache重写规则,这些规则应该能够路由URI请求,例如

http://mydomain.com/articles/example

http://mydomain.com/index.php?site=articles&page=example

到目前为止,我得到的是:

RewriteRule^/?([a-zA-Z]+)/([a-zA-Z0-9]+).html$index.php?site=$1&page=$2[L]

RewriteRule^/?([a-zA-Z]+)/([a-zA-Z0-9]+)$index.php?site=$1&page=$2[L]

由于我在index.php中到处使用相对文件路径,用于样式表、脚本、图像等,因此我面临着绝对文件路径解析错误的问题

例如,当我在根目录中时,
http://mydomain.com/
http://mydomain.com/articles
,所有相关图像路径正确解析-
图像/logo.jpg
变为
http://mydomain.com/images/logo.jpg
分别为htdocs/mydomain/images/logo.jpg

当我单击网站上的某个链接时,例如
http://mydomain.com/articles/example
,Apache(或浏览器?)假定我的所有图像都位于此处
http://mydomain.com/articles/images/
-很明显,这条路径实际上并不存在

下面是我的问题:

一,。是否可以在不将所有相对文件路径更改为绝对文件路径的情况下解决此问题

我可以将root
/
用于实际web服务器上的所有路径,因为我的域是有利链接的。
mydomain.com
链接到我的web服务器上的
/html/mydomain
/
解析为
mydomain.com/
,但是在我的个人计算机上,我运行XAMPP,并且
/
解析为
htdocs/
-但是它应该解析为
htdocs/mydomain/
,因为我在
htdocs

将index.php更新到web服务器时,绝对文件路径非常糟糕,因为我必须自动系统地替换路径声明——不仅在index.php中,而且在样式表和脚本中

二,。我应该在我的个人计算机上创建一个静态DNS条目以适应我的web服务器吗

三,。最常用的方法是什么

提前谢谢你


诚恳地说,塞巴斯蒂安

我通过编辑Windows的
主机
文件和Apache的
httpd vhosts.conf
文件自己解决了这个问题

一,。将新的静态DNS条目添加到
%SystemRoot%\system32\drivers\etc\hosts

127.0.0.1 www.mydomain.local

二,。将新虚拟主机条目附加到
%ApacheInstallDir%\conf\extra\httpd vhosts.conf


订单拒绝,允许

允许来自所有人



NameVirtualHost 127.0.0.1



DocumentRoot“E:\htdocs”

ServerName localhost




DocumentRoot“E:\htdocs\mydomain”

ServerName www.mydomain.local

现在
http://www.mydomain.local
直接导致
htdocs/mydomain

三,。更改my index.php中的所有相对路径和链接,只需在它们前面添加一个
/
,例如

我还设法在Dreamweaver中建立了一个站点,因此我能够正确地使用设计和实时视图