如何将 http 流量重定向到子目录,而不破坏子目录中的应用程序?

如何将 http 流量重定向到子目录,而不破坏子目录中的应用程序?

我已将主域名 URL 映射到服务器的根目录

我在 /blogs/techblog 下安装了 wordpress

我想将所有进入的流量引导至jameselsey.co.uk>jameselsey.co.uk/blogs/techblog

如果我将 URL 本身指向子目录,那么我的安装将无法进行

是否可以使用.htaccess服务器根目录中的文件来执行此操作?

我尝试了以下方法,但它创建了一个“无限循环”

Redirect 301 / http://www.jameselsey.co.uk/blogs/techblog/

答案1

我认为问题是,这Redirect还会重定向子路径,例如/foo本例中的或/blogs/techblog并将其附加到新位置。这可能很有用,因为如果你将整个网站移动到另一个位置(正如 HTTP 状态已经显示的那样永久移动),旧链接仍然有效。

对于您来说,这种行为没有什么帮助,但您可以尝试使用mod_rewrite

RewriteEngine on
RewriteRule  ^/$    /blogs/techblog  [L]

正则表达式^/$确保只有确切的位置/才会被重定向,并且[L]告诉 apache 停止在此行之后进行任何重写。

答案2

您最初是否在 jameselsey.co.uk 上安装了博客?我猜您是这样做的,因为 Wordpress 会重定向到它所拥有的服务器名称。修复它的方法是将其移回,登录到您的 wp-admin,将服务器名称更改为http://www.jameselsey.co.uk/blogs/techblog/,然后将其移回。在数据库/配置文件中可能有一种更简洁的方法可以做到这一点。

相关内容