2010-11-07 59 views
0

我正在本地服务器和远程服务器上开发一个站点。在开发过程中,服务器已在url.com/~user中,而在我的localhost开发中,我只是在根中开发。也就是说,如果我在本地服务器上包含一个文件,我就简单地引用“/img/img.png”......例如,显然这将在远程服务器上返回404,因为它会查找“/〜user /img/img.png”。使用mod_rewrite在每个文件请求前添加一个文件夹?

这是通过@Problems with pointing to files on local server versus remote回答的同样的问题但是我在这里想知道的是,如果这可以用mod_rewrite解决?定义SITE_ROOT在php文件中工作...但它不修复在CSS工作表中引用的文件。

是否可以简单地告诉我的远程服务器将/〜user /添加到每个文件包含中?即一个/img/img.png变成/~user/img/img.png?

感谢您的指点。

回答

3

我打算猜测你在生产中的某种共享服务器上。您的情况的问题是,像http://example.com/img/some.jpg这样的东西将生成一个请求(无需特殊设置)将不会在http://example.com/~user/中的web目录中发出.htaccess命令。因此,除非您有权访问服务器范围的apache配置,否则这不适用于您。

如果你想走这条路,你可以做什么就是把URL写成/~user/img/some.jpg。你可以在开发服务器上重写,然后去掉〜用户。

更好的是,为什么包括主要的斜线?这样,你就可以得到img/some.jpg,这将是一个相对路径。如果您正在参考http://localhost/index.html中的图像,它将拉动http://localhost/img/some.jpg。如果您正在参考http://example.com/~user/index.html中的图片,它将拉动http://example.com/~user/img/some.jpg

最后,在开发服务器上只有一个〜user目录,所以两个地方都一样呢?

+0

+1,我完全忽略了这个事实。 – casablanca 2010-11-08 00:02:05

+0

我在虚拟服务器上,我有服务器范围的配置访问。 – willdanceforfun 2010-11-08 00:06:01

+0

我将尝试让我的本地服务器与远程服务器相同。 – willdanceforfun 2010-11-08 00:06:26

相关问题