我有一个页面deals.php,它放在根目录下,由多个目录级别的内部URL访问。例如,以下网址都会访问此页面。
http://domain/flights/asia/bangkok
http://domain/flights/bangkok
我在.htaccess中使用此代码重定向到deals.php
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^flights/asia/([^/]+)/?$ deals.php?country=$1 [NC]
RewriteRule ^flights/([^/]+)/?$ deals.php?country=$1 [NC]
现在问题出现在deals.php上,所有图片,脚本和样式表文件都无法正常打开。如果我尝试通过在所有图像,脚本和CSS的地址中放置../../来修复它,它不适用于其他URL。
如何解决这个问题?有什么选择?
答案 0 :(得分:1)
简单:不要在任何资源的链接中使用../
(images / css / js / etc) - 始终使用相对于WEBSITE ROOT - 当你处理好/非真实/重写的URL时这是一个“要求”,因为这样的URL很少指向物理文件位置。
假设您有一个位于http://www.example.com/images/logo.png
的徽标。
现在,而不是../images/logo.png
和/或../../images/logo.png
始终使用/images/logo.png
。
答案 1 :(得分:0)
我认为你想要的是在html页面放置一个baseurl,所以所有的相对路径都与baseurl相关,而不是导航栏中的当前URL