从url slug

时间:2016-07-10 05:49:06

标签: php apache .htaccess redirect

我对以下问题几乎没有经验,所以我转向社区寻求帮助。

我的论坛安装在我的根目录中名为forum的文件夹中。当用户尝试从讨论或线程登录时,他们会被重定向到404网址。

他们被重定向到404页面的原因是因为论坛在网址中创建了第二个forum slug,这是一个例子:

查看帖子时

http://www.example.com/forum/discussion/1/letsTalk

以上是正确的网址但是,当用户尝试登录时,他们会被重定向到以下网址

登录时 http://www.example.com/forum/forum/discussion/1/letsTalk

请注意forum在上面的网址中出现两次。

解决方案

我猜这可以通过创建重写规则在htaccess文件中修复,这很简单。但是,当用户使用与上面给出的URL不同的URL查看其他线程时,我的问题就出现了。

因此,我需要找到一种方法来删除URL中出现的第二个论坛......我不知道如何解决?这可以在htaccess中修复,还是需要修改源代码?

1 个答案:

答案 0 :(得分:0)

在html的head部分,你应该放

<base href="http://www.example.com/forum"/>

这将使相对网址前置给定的基础。

然后你应该在论坛子目录中创建另一个.htaccess 它应包含以下内容:

RewriteEngine On
RewriteBase /forum/

这将使您后端使用的相对网址以基础为前缀。