【问题标题】:Redirect all to different domain except wp-admin and wp-json将所有重定向到不同的域,除了 wp-admin 和 wp-json
【发布时间】:2017-02-18 08:56:12
【问题描述】:

我想将所有页面重定向到http://www.expample2.com,除了 wp-admin 和 wp-json。

例如,用户能够登录到http://www.example1.com/wp-admin 并且 wp-json 插件仍然必须在http://www.example1.com/wp-json/ 中工作...

例如,用户还可以在 wp-admin 中单击以显示帖子。 http://www.example1.com/post/title 但我希望它指向 http://www.example2.com/book/title

但是为了让 json 正常工作,我认为这个脚本必须工作:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

【问题讨论】:

    标签: wordpress apache mod-rewrite


    【解决方案1】:
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !^/wp-admin.*
    RewriteCond %{REQUEST_URI} !^/wp-json.*
    RewriteRule ^(.*)$ http://www.example2.com$1 [L,R=301]
    </IfModule>
    

    将其放在您的 &lt;VirtualHost&gt; 中,作为您的 www.example1.com。 您在问题中包含的 sn-p 看起来像其根文件夹中的标准 Wordpress .htaccess 文件,是吗?这就是为什么最好更改您的 Apache conf。

    【讨论】:

    • 我必须添加一些其他 RewriteCond wp-login 和 wp-content 才能使管理部分正常工作。但由于某种原因,wp-json 仍然重定向到 example2.com。它直接进入 example2.com/index.php
    • 您可以尝试RewriteCond %{REQUEST_URI} !^/wp-.* 之类的方法并重定向所有以 wp- 开头的 URL。至于为什么wp-json 没有重定向,我会打开日志httpd.apache.org/docs/current/mod/mod_rewrite.html - Apache Rewrite Logging - 或者通常在/var/log/apache2/ 中查看Apache 日志,看看HTTP 请求是否实际上以@987654329 的形式进入@...
    • 上面应该说“重定向所有不以wp-开头的URL”。
    • 这确实是包含所有 wp 相关文件夹的好方法。我通过重定向 post 文件夹和 root 解决了我的问题。所以我把其余的都留了下来。所以重定向有点颠倒了。
    猜你喜欢
    • 2012-01-17
    • 1970-01-01
    • 2019-04-26
    • 1970-01-01
    • 2016-01-20
    • 1970-01-01
    • 2021-01-17
    • 1970-01-01
    • 2014-05-06
    相关资源
    最近更新 更多