Добавление косой черты после URL перемещает поле под меню и логотип над ним - PullRequest
1 голос
/ 05 марта 2010

Я использую codeigniter.

На странице моих продуктов отображаются все имеющиеся у нас продукты, и затем пользователи могут щелкнуть каждое имя_продукта, чтобы получить более подробную информацию об этом конкретном продукте.Итак, я объявил products как класс, а product_name как функцию внутри класса product - чтобы я мог получить URL www.company.com/products/product_name.

Когда я перехожу на www.company.com/products все хорошо, но если я добавлю косую черту, чтобы она выглядела как www.company.com / products / , мое окно под логотипом и меню перемещается по нему, скрывая оба логотипаи меню.То же самое происходит, когда я захожу на www.company.com / products / product_name .

Как я могу убедиться, что окно ниже не скрывается, когда я добавляю косые черты или когда я идуна страницы с наименованиями продуктов.

Буду признателен за любую помощь.

1 Ответ

2 голосов
/ 05 марта 2010

Проблема в том, что вы указали относительный путь для ваших изображений. Вам нужно сделать их абсолютными или хотя бы относительно текущего местоположения. То есть, если вы измените путь к изображению с:

<img src="images/obsia.png">

до

<img src="/images/obsia.png">
or
<img src="http://www.obsia.com/images/obsia.png">

Ваша проблема будет решена.

Причина, по которой это происходит, в том, что путь к изображениям определяется базовым URL. Когда вы находитесь на http://www.obsia.com или http://www.obsia.com/products, ваш базовый URL-адрес http://www.obsia.com.

В браузере images/obsia.png отображается как http://www.obsia.com/image/obsia.png, который ваш сервер интерпретирует как wwwroot/images/obsia.png, и соответствующая ссылка работает.

Однако, если вы сделаете http://www.obsia.com/products/, ваш базовый URL будет http://www.obsia.com/products, а относительный путь для ваших изображений изменится с http://www.obsia.com/images/obsia.png до http://www.obsia.com/products/images/obsia.png. Ваш сервер интерпретирует это как, что ваш сервер интерпретирует как wwwroot/images/products/obsia.png, что не является допустимым путем. Сервер возвращает 404 - в результате сломанные изображения.

Вы можете увидеть это, если используете панель Firebug .Net. Запрос на ваш логотип возвращает:

GET obsia.png
http://www.obsia.com/products/images/obsia.png

404 Not Found

obsia.com

539 B
...