.htaccess 使用Apache重写规则时出现相对文件路径问题
我正在尝试创建一些Apache重写规则,这些规则应该能够路由URI请求,例如.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]+)/([
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中建立了一个站点,因此我能够正确地使用设计和实时视图