【问题标题】:Editing htaccess file to redirect only content + Wordpress编辑 htaccess 文件以仅重定向内容 + Wordpress
【发布时间】:2021-02-03 19:42:28
【问题描述】:

我在我的网络服务器中创建了一个子文件夹并在那里安装了 wordpress,它工作正常。现在我创建了几个子域。我需要在这些子域中显示在 wordpress 安装中创建的页面,但不更改 Web 浏览器地址栏中显示的地址。

Options +FollowSymLinks
RewriteEngine on
RewriteOptions inherit
RewriteBase /

RewriteCond %{HTTP_HOST} ^sub.example.com$ [NC]
RewriteRule ^(.*)$ https://example.com/WPweb/index.php/pagetobeshown [R=301,NC,L,QSA]

这样,我被重定向并且内容显示正常,但地址栏已更改。

是否有可能解决这个问题,使地址不改变?

提前致谢

【问题讨论】:

  • 您希望子域下的所有 URL 路径都显示相同的页面吗? (尽管这对 SEO 来说不一定有好处。)或者只是子域的文档根目录?
  • 我在主目录中有一个旧页面,我为 wordpress 安装 (/web/WPweb) 创建了一个子目录,其中我用 wordpress 创建了几个页面。现在我有 5 个子域,我想显示在 wordpress 安装中创建的页面,但我需要地址栏来显示该子域,所以当有人输入 sub1.domain.com 时,它显示 example.com/WPweb/index.php/page1 内容但地址栏显示sub1.example.com 当有人输入 sub2.example.com 时,它显示example.com/WPweb/index.php/page2 内容但地址栏显示 sub2.example.com ...等

标签: wordpress .htaccess redirect dns subdomain


【解决方案1】:

要在.htaccess 中执行此操作,您需要将服务器配置为反向代理,并将来自子域的请求代理到主域上的 URL。然后,WordPress 会将其视为对主域的请求。

但是,这确实需要在您的服务器配置中进行一些配置,以确保加载适当的模块(mod_proxy、mod_proxy_http 等),如果 WordPress 应该发出任何重定向,则可以选择设置 ProxyPassReverse

然后您可以使用 P 标志和 mod_rewrite 的 RewriteRule 通过 mod_proxy 发送请求。例如:

RewriteCond %{HTTP_HOST} ^sub\.example\.com
RewriteRule ^$ https://example.com/WPweb/index.php/pagetobeshown [P]

这会将https://sub.example.com/ (即子域的文档根)的请求发送到所述的URL。 NCQSAL 标志不是必需的。

如果您想将 任何 URL 路径(如您的 RewriteRule 指令所暗示的那样)发送到目标站点上的 URL,然后更改 RewriteRule 模式^$^(只需删除$)。然而,这种多对一的关系并不一定有利于 SEO。

您仍需要将页面中的 rel="canonical" 链接元素修改为 WordPress 本身中的相应​​ URL。

但是,我确信有更好、更针对 WordPress 的方法来解决这个问题。但 WordPress 需要配置为接受对子域和备用 URL 路径的请求。

【讨论】:

  • 所以我的虚拟主机告诉我他们无法激活这些模块,因为它是共享服务器。我还有其他选择来实现这一点吗?主要目标是在访问子域时显示页面内容(在 wordpress 子文件夹安装中),而不改变地址栏。
  • 您需要将 WordPress 配置为接受对这些附加子域的请求(因为 WP 默认“固定”到您的主域)。您还需要将这些额外的 URL 路径(用于子域)路由到同一个 WP 页面。子域需要指向文件系统上与主域相同的位置 - 如果它们还没有(或者您需要使用 mod_rewrite 进一步重写请求)。您可能会在 WordPress 堆栈上得到更好的回应:wordpress.stackexchange.com
猜你喜欢
  • 1970-01-01
  • 2014-07-05
  • 2017-04-11
  • 2017-12-20
  • 1970-01-01
  • 2010-10-06
  • 1970-01-01
  • 2014-06-21
  • 1970-01-01
相关资源
最近更新 更多