Проблема с mod_rewrite - PullRequest
       5

Проблема с mod_rewrite

1 голос
/ 20 февраля 2011

Я пытаюсь изменить свой URL на

http://www.tomttb.com/school/index.php?page=p/logbook/my.php

На

http://www.tomttb.com/school/logbook/my

Теперь у меня есть это:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)$ index.php?page=p/$1/$2.php [L]

Это работает, он даетme index.php, но изображения, таблицы стилей и т. д. не загружаются, потому что браузер считает, что он находится в папке http://www.tomttb.com/school/logbook/my.

Как я могу решить эту проблему?

1 Ответ

1 голос
/ 20 февраля 2011

Простой ответ заключается в добавлении тега <base> на каждую страницу, что, в вашем случае, вероятно, может быть достигнуто путем добавления его в index.php.

Из W3C атрибут href базового тега

указывает абсолютный URI, который действует как базовый URI для разрешения относительных URI

Итак, вы можете добавить что-то вроде

<base href="http://www.tomttb.com/school/">

для разрешения всех относительных путей с использованием указанного URL-адреса (http://www.tomttb.com/school/), вместо URL-адреса, который видит браузер (http://www.tomttb.com/school/logbook/my)

)
...