2015-06-04 2 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 (рабочие)

При открытии URL Пример 1 с помощью одного фрагмента маршрута он загружает без проблем, используя конфигурацию Apache ниже. Атрибуты загружаются правильно, используя http://www.fakewebsite.com/assets/image1.png.

Пример 2:http://www.fakewebsite.com/products/12345 (не работает)

При открытии URL Пример 2 с двумя фрагментами страница не загружается. Он не загружается, потому что все мои файлы 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

Смежные вопросы