使用htaccess文件和多个URL参数时如何解决相对路径问题

时间:2014-07-23 20:11:51

标签: php .htaccess relative-path

我的网址有问题,因为我的htaccess文件(我认为)用于制作"漂亮的网址"。

当我给出一个带有这样一个参数的URL时,一切都会像它应该的那样:

localhost/project/page

但是当我在URL的末尾添加另一个参数时:

localhost/project/page/parameter

页面找不到图像,即使路径完全相同,并且URL中的第二个参数与页面无关。

这是我的htaccess文件的内容:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

如果您认为问题是由于其他原因而发生的,请告诉我。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

这是人们在切换到漂亮网址方案时遇到的最常见问题。

发生此问题的原因是您在css / js / image路径中使用相对路径。您有2个选项可以解决此问题。

  1. 在css,js,images文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以http://或斜杠/开头。
  2. 您可以尝试在页面的HTML标题中添加此标题:<base href="/" />,以便从该网址解析每个相对网址,而不是当前网址。