如何重定向WordPress站点的前端(仅限)?

时间:2017-04-02 作者:Muhammad Riyaz

我有一个子域

http://blog.example.com

我想将其重定向到子目录

https://www.example.com/blog

但不是管理员(/wp-admin). 管理区域应保持原样

http://blog.example.com/wp-admin

目前我的htaccess中有此功能

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteBase /blog/
    RewriteRule ^index\\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /blog/index.php [L]

    RewriteCond %{HTTP:X-Forwarded-Host}i ^example\\.com 
    RewriteCond %{HTTP_HOST} ^blog\\.example\\.com$  
    RewriteRule ^/?(.*)$ https://www.example.com/blog/$1 [L,R=301,NC]

    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteCond %{HTTPS} off
    RewriteRule ^/?(.*)$ https://www.example.com/blog/$1 [L,R=301,NC]
</IfModule>
我的网站URL和WordPress URL是:

WordPress Address (URL)   = /blog 
Site Address (URL)        = https://www.example.com/blog
但这种设置会重定向我网站中的每个URL,并在后端产生许多问题。

最好的方法是什么?

2 个回复
SO网友:Abhishek Gurjar

Use below rule,

RewriteEngine On

# excluding www
RewriteCond %{HTTP_HOST} !^www
RewriteCond %{HTTP_HOST} ^blog

# excluding wp-admin
RewriteCond %{REQUEST_URI} !^wp-admin
RewriteRule ^ https://www.example.com/%1
SO网友:Greeso

您是否尝试过以下方法?

<html>
    <head>
        <meta http-equiv="refresh" content="0; url=https://www.example.com/blog" />
    </head>
</html>
这是你的index.php 文件,然后将其放置在http://blog.example.com

Note 这个0 refresh语句中是页面在重定向到新站点之前等待的秒数,以及0 表示立即重定向。

Note 2 您可以创建一个新主题,该主题仅包含以下内容index.php 上述文件(以及style.css 文件),并切换到此主题,您将被设置。或者,更新现有主题,并将上面的meta标记添加到标题中。无论哪种方式都应该有效。

相关推荐

Custom URL redirect in WP

我正在尝试为外部链接创建自己的重定向页面。My target我的目标是,当用户打开链接时www.mysite.com/wp/GoTo/?URL=www.google.com, 浏览器打开页面www.google.comWhat I have done我保存了以下内容GoTo.php 文件夹中的文件wp-content/themes/theme-name/:<?php /* Template Name: GoTo */ /** *