我使用.htaccess重写网址。请参阅以下示例:
我的文件夹树状就像那样:
当我致电http://localhost/mysite/mypage/myid
时,它会被重定向到http://localhost/mysite/mypage.php?id=myid
问题在于它似乎没有调用我的css:
<link href="css/style.css" rel="stylesheet" type="text/css" />
我的.htaccess的内容是:
RewriteEngine on
RewriteBase /mysite
RewriteRule ^mypage/([^/]*) mypage.php?id=$1
提前致谢
修改:
我尝试了解决方案:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
我仍然无法得到名为:/
的css编辑2:
好的,我可以按照这样的方式调用我的CSS:
<link href="/mysite/css/style.css" rel="stylesheet" type="text/css" />
看起来我还必须使用路径“/ mysite /”
调用我在html中的所有图像答案 0 :(得分:1)
添加重写条件:
RewriteCond %{REQUEST_FILENAME} !-d [OR]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^mypage/([^/]*) mypage.php?id=$1
现在你的css(以及其他文件和目录)不会通过rewriterule发送
答案 1 :(得分:1)
您需要告诉重写引擎忽略实际存在的目录和文件:
RewriteEngine on
RewriteBase /mysite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^mypage/([^/]*) mypage.php?id=$1
答案 2 :(得分:1)
你的造型现在被称为亲戚,所以你应该称之为绝对。
没有/ myid / css /文件夹,这就是您的代码正在寻找的内容。
<link href="<?php echo $_SERVER['SCRIPT_URI'];?>css/style.css" rel="stylesheet" type="text/css" />