URL链接大小为双击使用Mod_Rewrite单击

时间:2015-04-16 21:00:44

标签: php apache .htaccess mod-rewrite

目前我遇到了WEIRDEST问题! :(每当我点击一下它的大小翻倍,我认为这是因为.htaccess文件。首先让我发布我的.htaccess文件:

Options +FollowSymLinks
RewriteEngine on

# skip all files and directories from rewrite rules below
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

RewriteRule ^[\w.'@\\\/-]+/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/?$ posts.php?sortby=$1&sorttime=$2 [NC,L]
RewriteRule ^[\w.'@\\\/-]+/([a-zA-Z0-9]+)/?$ posts.php?sortby=$1 [NC,L]
RewriteRule ^[\w.'@\\\/-]+$ posts.php [NC,L]

<Files .htaccess>
order allow,deny
deny from all
</Files>

在我解释之前,我想说我使用的是localhost(不是问题,其他页面工作正常)。我还想告诉你.htaccess和posts.php的文件路径。

localhost/postin'/categories/{category}/{var1-optional}/{var2-optional}

现在{category}部分可以更改,因此这就是[\w.'@\\\/-]+的原因。这是将它链接到posts.php的部分。好的,现在到手头的问题!让我们说我在URL:

http://localhost/postin'/categories/coding/popular/today
                                    ^category ^var1 ^var2

然后在该页面上点击了一个按钮,我将

http://localhost/postin'/categories/coding/views/today

该网址实际上会将我带到:

http://localhost/postin'/categories/coding/popular/localhost/postin'/categories/coding/views/today

所以我的问题是为什么点击它们时链接的大小加倍?

P.S。我在我的网站上的另一个文件夹中有另一个.htaccess,其中的链接工作得很好!

1 个答案:

答案 0 :(得分:0)

解释OP的问题:

他的.htaccess没有任何问题,只是他的href(或链接)的构建方式。

这里有完整的解释

在没有协议(// or http://)的情况下进行链接,并且没有相对路径(/),只需将链接的路径添加到当前URI。所以从www.example.comhref="foo.com"的链接会引导我们www.example.com/foo.com,链接应为href="http://foo.com";真正重定向。您可以从上一个URL中看到,您可以看到新URL已附加到原点的末尾