Url reescritura rompió el enlace a css
Estoy usando la siguiente configuración para la reescritura de URL:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
Inindex.php
es parse$_GET['url']
para que en los siguientes ejemplos:
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
Así que el primer parámetro (? No sé cómo llamarlo) es el nombre de la página, luego los siguientes dos parámetros son como "claves / valor". Ahora cuando navegoROOT/
el enlace a las hojas de estilo que se insertan dentro del html de la página y la página se muestra correctamente. Yo buscoROOT/index
(que es lo mismo queROOT/
) muestra la página (con contenido y otras cosas) correctamente pero los enlaces (incluso si en la estructura html están escritos correctamente) a las hojas de estilo no se cargan. Y puedo ver eso por el hecho de que mi página no tiene CSS en absoluto cuando la cargo.
¿Cómo puedo arreglar esto
EDITA
a ruta del archivo css es la siguiente:
project/view/css/common.css
El archivo donde está incluido está en
project/public/index.php // the one with .htaccess and rewrite rules
Esto me lleva a hacer un enlace (dentro del index.php) como
../view/css/common.css
Pero esto funciona de manera diferente dependiendo de cómo se vea la url. Por ejemplo
# 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