Php 使用css的Mod_重写包含问题
我刚开始修改 我有这个页面profiles.php?page=XXX 我试图将其移动到更友好的url/cars/XXX/Php 使用css的Mod_重写包含问题,php,css,mod-rewrite,base,Php,Css,Mod Rewrite,Base,我刚开始修改 我有这个页面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="./../../c
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' />";
global$base\u addr;
$s=子服务器计数($\服务器['SCRIPT\u NAME',“/”,2)-1;
$base_addr=“.”;
如果($s>0)$base\u addr.=str\u repeat(“/…”,$s);
require_once($base_addr.class/xxx.php');
回声“;
在这段代码中,require_once可以完美地工作,只有html HREF是我的问题。对此,请尝试使用绝对URL(相对于域的根):
/path/to/css/style.css
与http://www.domain.com/path/to/css/style.css
这样一来,它就不取决于URL中斜杠的数量。我认为这样效果更好
<base href="/" />
特别是因为您可以定义站点的基本根目录,所以子目录中的css或jquery等资产都不会丢失
<base href="www.url.org/" />
<base href="www.url.org/directory/" />
我使用$base\u addr来处理所有包含的内容,即使是php,它也可以完全正常工作,只有html包含不起作用。require\u once($base\u addr.class/XX.php');工作正常,但不起作用的是html hrefs,
<base href="www.url.org/" />
<base href="www.url.org/directory/" />