2015-06-04 28 views
0

我在使用多级路由片段直接加载页面时遇到麻烦,使Apache重写工作。下面是两个例子:如何在Apache中使用多级骨干路由器片段?

这是我的虚拟主机配置:

RewriteEngine On 
RewriteBase/
RewriteRule ^index\.html$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) /index.html [L] 

实施例1:http://www.fakewebsite.com/products(工作)

当我打开实施例1的URL与单个路径片段它加载使用下面的Apache配置没有问题。资产使用http://www.fakewebsite.com/assets/image1.png正确加载。

实施例2:http://www.fakewebsite.com/products/12345(不工作)

当我打开例2 URL以两个片段的页面不加载。它不会加载,因为我的所有css和js文件都试图从http://www.fakewebsite.com/products/assets/image1.png加载。

我怎样才能得到这个例子2的工作?我认为使用RewriteBase /RewriteRule ^index\.html$ - [L]会强制所有非html文件使用基础而不是片段。

回答

1

最简单和标准的方式,是从文档根目录定义与绝对路径的所有资产:

<img src="/assets/image1.png"> 
+0

这当然是一个解决方案。我没有这样做的原因是因为我在用于测试和生产的localhost子目录之间切换。 – Josh