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

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

最佳答案

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

/portfolio/

相对URI基础从/变为/portfolio/。这意味着如果您有链接的图像,例如:
src="images/foo.jpg"

您可以加载/images/foo.jpg而不是loeading /portfolio/images/foo.jpg

更改链接以使其成为绝对链接(以/开头),或将其添加到页面的页眉中:
<base href="/" />

关于apache - 将'/'放在网址末尾时的htaccess,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19286212/

10-10 08:53