将“/”放在url的末尾时的Htaccess

时间:2013-10-10 02:47:08

标签: apache .htaccess mod-rewrite url-rewriting

我正在做一个只有一个页面的网站,我想要输入网址,例如:“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>

你知道有什么可以帮到我吗?

1 个答案:

答案 0 :(得分:1)

这是因为你的css和图像是动态链接的(不是以/开头)。这意味着当你去:

/portfolio/

相对URI基数从/更改为/portfolio/。这意味着如果您的图像链接如下:

src="images/foo.jpg"

而非加载/images/foo.jpg,您加载/portfolio/images/foo.jpg

更改链接,使其成为绝对链接(以/开头)或将其添加到页面标题中:

<base href="/" />