.htaccess文件清理URL在每个页面导航后相乘?

时间:2016-12-24 14:52:20

标签: php apache .htaccess mod-rewrite

我正在使用.htaccess从我的PHP页面创建一个干净的URL。

但是,我现在遇到的问题是,在每次页面导航后,干净的URL会相乘。

例如:

我的第一个干净网址如下所示:

/story/story-title-1/

然后从这个页面我导航到另一个页面,但它会使我的干净URL看起来像这样:

/story/story/story-title-2/

所以基本上,在每次页面导航之后,干净的URL“故事”将成倍增加。

这就是我在htaccess文件中的内容:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]

RewriteEngine On
RewriteRule ^story/([^/]*)$ /story.php?clean=$1 [L]

有人可以就此问题提出建议吗?

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

这似乎是在页面上使用相对URL而不是重写问题的问题。

要解决此问题,您可以在css,js,images文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以http://或斜杠/开头。

否则您可以在页面的<head>部分的HTML下面添加:

<base href="/" />

以便从根网址解析每个相对网址,而不是从当前网页的网址解析。