Я использую следующие настройки для перезаписи URL:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
В index.php
это синтаксический анализ $_GET['url']
, поэтому в следующих примерах:
ROOT/user/id/1/name/bobby // user is the page, id = 1, name = bobby
ROOT/blog/post/123/title/welcome // blog is the page, post = 123, title = welcome
Так что первый параметр (я не знаю, как его вызвать) - это имя страницы, а следующие пара параметров похожи на «ключи / значение».
Теперь, когда я просматриваю ROOT/
, ссылка на таблицы стилей, вставленные в HTML-страницу и страницу, отображаются правильно.
Я просматриваю ROOT/index
(то же самое, что и ROOT/
), он показывает страницу (с содержимым и другими вещами) правильно, но ссылки (даже если в html-структуре правильно написаны) на таблицы стилей не загружаются. И я вижу это из того факта, что моя страница вообще не имеет CSS, когда я ее загружаю.
Как я могу это исправить?
EDIT
Путь к css-файлу следующий:
project/view/css/common.css
Файл, в котором он находится, находится в
project/public/index.php // the one with .htaccess and rewrite rules
Это приводит меня к созданию ссылки (внутри index.php), такой как
../view/css/common.css
Но это работает по-разному в зависимости от того, как выглядит URL. Например:
# For URL = public/
project/view/css/common.css // good
# For URL = public/index/
project/public/view/css/common.css // broken
# For URL = public/index/key/value
project/public/index/key/view/css/common.css // broken