.htaccess文件确实无法正常工作

时间:2015-04-29 07:01:36

标签: apache .htaccess mod-rewrite

我已按以下方式创建.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>

但似乎没有效果。

1 个答案:

答案 0 :(得分:0)

由于您的网址路径中有额外的/,因此浏览器会错误地猜测所有相关链接的相对网址。如果浏览器认为它正在加载:

/school1/schools/schools

然后相对基数将是:/school1/schools/,并且所有相对链接都将附加在它们之前。 &#34;相对&#34;链接是相对于页面加载的位置,浏览器对您的重写没有任何了解。

要修复此问题,请将您的链接设为绝对(以http://your-domain.com/school1//school1/开头),或者为网页标题添加相对基数:

<base href="/school1/" />