Я новичок в mod_rewrite.
У меня есть эта страница profiles.php? page = XXX
я попытался переместить его на более дружественный url / cars / XXX /
RewriteEngine on RewriteRule ^cars/([^/]+)/?$ profiles.php?page=$1 [L]
проблема в том, когда я включаю стиль
<link href="./css/style.css" rel="stylesheet" type="text/css" />
он не работает,
<link href="./../../css/style.css" rel="stylesheet" type="text/css" />
отлично работает, но не работает с profile.php? carname = XXX
почему это происходит? как я могу это исправить
Заметка:
У меня есть небольшой скрипт, который определяет базовый адрес веб-сайта, подсчитывая количество /
global $base_addr; $s=substr_count($_SERVER['SCRIPT_NAME'],"/",2)-1; $base_addr="."; if($s > 0)$base_addr.=str_repeat("/..",$s); require_once($base_addr.'class/xxx.php'); echo "<link href='$Base_addr/css/style.css' rel='stylesheet' type='text/css' />";
В этом коде require_once будет работать отлично, только html hrefs – это моя проблема, любое исправление для этого
Я думаю, что это работает лучше.
<base href="/" />
Тем более, что вы можете определить базовый корень вашего сайта, тогда ни один из таких активов, как css или jquery в подкаталогах, не будет потерян.
<base href="www.url.org/" /> <base href="www.url.org/directory/" />
Попробуйте использовать абсолютные URL-адреса (относительно корня домена):
<link href="/path/to/css/style.css" rel="stylesheet" type="text/css" />
/path/to/css/style.css
такое же, как http://www.domain.com/path/to/css/style.css
Таким образом, это не зависит от количества косых черт в вашем URL-адресе.