【发布时间】:2012-05-16 17:00:48
【问题描述】:
我想为我的网站创建平面链接。 .htaccess 代码如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9A-Za-z]+)?$ /index.php?page=$1 [L]
RewriteRule ^([0-9A-Za-z]+)/?$ /index.php?page=$1 [L]
</IfModule>`
现在我的网站正在运行,可以通过print_r($_GET) 看到并获取所有值。
我的网站有这样的代码:<img src="images/icons/image.png" />,其中图像位于路径:/images/icons/up.png。
现在我可以访问我的网站:http://somedomain.com/home,一切正常。但是当我输入:http://somedomain.com/home/ 时,它就卡住了。
图像在浏览器中得到这样的路径:http://somedomain.com/home/images/icons/image.png,它不可用,应该是:http://somedomain.com/images/icons/image.png。
如何解决?
如果通过修改 .htaccess 有任何解决方案会很有帮助,因为我想对所有链接使用相对路径而不是完整路径。
感谢本·克利福德的帮助。据他说,如果我将第二条规则重定向到第一个规则而不是 index.php 的格式。那么它应该可以工作了。
【问题讨论】:
-
将 base-url 元标记包含在您的脑海中。看看这是否能解决问题。
标签: php mod-rewrite relative-path