2013-12-16 2 views
1

Я пытаюсь создать файл .htaccess, чтобы создать URL-адрес SEO.Почему у меня нет слэшей в моем правиле перезаписи?

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

Мой код выглядит следующим образом:

RewriteEngine on 
RewriteRule ^(.+)/$ /$1 [L,R=301] 
RewriteRule ^folder/folder-name index.php?show=folder&folder_id=7 

страница загружена правильно, но таблица стилей/изображений/JavaScript не найдены!

Как будто, страница думает, что она должна искать стиль/images/js относительно «folder/folder-name».

Если я изменить последнюю строку на:

RewriteRule ^folder-folder-name index.php?show=folder&folder_id=7 

Тогда все загружается правильно, поэтому я уверен, что это из-за косой чертой.

Любая помощь?

ответ

2

Это потому, что вы используете относительные пути в вашем JS, CSS и т.д. У вас есть 2 варианта исправить:

  1. Просто использовать абсолютный путь в вашем CSS, JS, файлы изображений, а не относительный один. Это означает, что вам нужно убедиться, что путь к этим файлам начинается либо с http://, либо слэш /.
  2. Вы можете попробовать добавить этот тег в заголовке вашей страницы:

    <base href="/" /> 
    
+1

Отлично! Спасибо, работает как шарм :) Я соглашусь, как только смогу :) –

+0

Добро пожаловать, рад, что это сработало. – anubhava

2

Один вариант: Вы можете использовать пути относительно корня сайта. т.е. изменение:

<img src="images/some.jpg" /> 

по

<img src="/images/some.jpg" /> 

Being папку здесь изображения: yoursite.com/images

+0

спасибо за предложение :) –

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