我正在做一个只有一个页面的网站,我想要输入网址,例如:“http://test.com/portfolio
”和我的htaccess访问同一页面,如http://test.com/#portfolio
,我已经通过下面的代码得到了这个,但是当我放置http://test.com/portfolio/
,之后使用“/
”时,服务器会打开相同的页面,但没有css,带有图片的链接......浏览器只显示html代码。
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^portfolio(.*)$ #portfolio
RewriteRule ^contact(.*)$ #contact
</IfModule>
你知道有什么可以帮到我吗?
答案 0 :(得分:1)
这是因为你的css和图像是动态链接的(不是以/
开头)。这意味着当你去:
/portfolio/
相对URI基数从/
更改为/portfolio/
。这意味着如果您的图像链接如下:
src="images/foo.jpg"
而非加载/images/foo.jpg
,您加载/portfolio/images/foo.jpg
。
更改链接,使其成为绝对链接(以/
开头)或将其添加到页面标题中:
<base href="/" />