我有一个网站,其中有一个index.php、几个简单的.html 页面和一个.php 页面(联系表单)以及一个.htaccess 文件。在我的网站上,我有指向页面的按钮,如下所示:
index.php?p=welcome.php
(示例)。正如您所看到的,index.php
文件 includes
一个页面,具体取决于 GET
传递的内容。
我编写了 .htaccess 来显示:
http://www.site.com/welcome/
而不是http://www.sites.com/index.php?p=welcome
。链接和重写都有效。我遇到的唯一问题是当我单击其中一个按钮导航到另一页面时:没有任何样式。
我已经测试过
index.php
文件是否正确包含其他页面,确实如此。只是样式表似乎不起作用。 style.css
包含在 index.php
文件的顶部,也就是它所属的位置。 以下是我想向您展示的一些代码:
按钮
<table>
<tr>
<td><a href="/welcome/"><div>Welcome</div></a></td>
</tr>
<tr>
<td><a href="/references/"><div>References</div></td></a>
</tr>
<tr>
<td><a href="/aboutme/"><div>About me</div></td></a>
</tr>
<tr>
<td><a href="/contact/"><div>Contact</div></td></a>
</tr>
</table>
.htaccess
RewriteEngine On
RewriteRule ^([a-z]+)/$ index.php?p=$1
明确地说:该网站仍然像平常一样运行,但它只是不应用样式表中的任何样式。任何帮助将不胜感激。
如果使用相对路径包含样式表,那么这将是问题所在。 尝试使用:
/path/to/style.css
而不是relative/path/to/style.css
因此,如果您的样式表位于
templates/style.css
中并且您这样引用它,则当您将 URL http://www.site.com/index.php?page=welcome
重写为 http://www.site.com/welcome/
时,样式表的路径是相对于该路径的:
http://www.site.com/welcome/templates/style.css
您可能将其包含在相对路径中?当您使用 ./ 时,您试图包含新的(不存在?)/welcome 目录中的内容。
尝试在完整路径中包含您的内容,或使用某种变量来告诉您真正的基本路径。
我认为您应该插入文档标题。通过这种方式,您不需要绝对更改每个文件中 stylesshet 的每个路径。