我已按以下方式创建.htaccess
RewriteEngine on
RewriteBase /school1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?path=$1 [L,QSA]
我的意思是当用户点击'school1/schools/schools'
时,他们会得到' school1 / index.php?path = schools / schools'它工作正常,但css js和图像请求按照目录而不是school1/schools/[js|css|img]/...
school1/[js|css|img]
我不明白为什么他们要把学校从网址中分离出来。
如果我点火http://demo.cwdesigns.org/school1/dashboard
它会正确渲染,但是当我fire http://demo.cwdesigns.org/school1/schools/schools
请帮助我,我浪费了很长时间来解决这个问题。如果您想要任何额外信息,请发表评论。
更新1 根据第一个答案,我已将基本标签添加到我的头部
<head>
<base href="http://demo.cwdesings.org/school1" />
<meta charset="UTF-8">
<title>Student Portal | Dashboard</title>
但似乎没有效果。
答案 0 :(得分:0)
由于您的网址路径中有额外的/
,因此浏览器会错误地猜测所有相关链接的相对网址。如果浏览器认为它正在加载:
/school1/schools/schools
然后相对基数将是:/school1/schools/
,并且所有相对链接都将附加在它们之前。 &#34;相对&#34;链接是相对于页面加载的位置,浏览器对您的重写没有任何了解。
要修复此问题,请将您的链接设为绝对(以http://your-domain.com/school1/
或/school1/
开头),或者为网页标题添加相对基数:
<base href="/school1/" />