【问题标题】:Why aren't any of these 301 redirects working?为什么这些 301 重定向都不起作用?
【发布时间】:2016-05-14 08:48:52
【问题描述】:

我有一个 Wordpress 多站点,我正在尝试将其中一个站点的所有内容定向到一个完全不同的域。在我在下面尝试过的示例中,重定向似乎都没有做任何事情。

Options +FollowSymlinks
RewriteEngine on

#attempt one
Redirect 301 ^/multisite-one/.*$ http://newdomain.com/

#attempt two
RewriteRule ^multisite-one/$ http://newdomain.com/ [L,R=301]

#attempt three
RewriteCond %{REQUEST_URI} ^/multisite-one/(.*)$
RewriteRule ^(.*) http://newdomain.com/%1 [R=301,NC]

#attempt four
RewriteCond %{HTTP_HOST} ^multisite-one/$ [NC]
RewriteRule ^(.*)$ http://newdomain.com/ [R=301,L]

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

#END Wordpress

关于我的设置的一点点:

  • 多站点设置为具有 2 个主页,一个用于多站点一,另一个用于多站点二。没有顶级索引页面。
  • 多站点共享页面模板。这两个站点的结构相同,只是包含不同的内容(即多站点一是客户服务,多站点二是操作方法)

我想要完成的事情:

http://mainsite.com/multisite-one/ redirects to http://newdomain.com/
http://mainsite.com/multisite-one/page2 redirects to http://newdomain.com/ 
http://mainsite.com/multisite-one/page8/pies redirects to http://newdomain.com/

http://mainsite.com/multisite-two/ does not redirect
http://mainsite.com/multisite-two/page2 does not redirect
http://mainsite.com/multisite-two/page8/tacos does not redirect

我已尝试在 Wordpress 代码中添加上述重定向,如 this similar question 中所述。我还尝试了所有看起来相关的these

注意:我不能使用插件,因为它们目前被禁用并且我没有 FTP 访问权限。我必须使用 linux 命令行进行这些更新。显然这是一个可怕的情况。

【问题讨论】:

  • 如果您没有 ftp,您如何访问 .htaccess 文件?来自 cpanel?
  • 好的。对于您的第二次尝试,可能是:RewriteRule ^multisite-one/(.*)$ newdomain.com/$1 [L,R=301] 如果您只想将所有 url 转到 newdomain 并保存扩展名,请删除近端的 $1。但是您确实想保存扩展程序吗?

标签: wordpress .htaccess redirect


【解决方案1】:

在更多谷歌搜索和思考上面的Ben Rhys-Lewis 答案后想通了。

RedirectMatch 301 ^/multisite-one(.*)$ http://newdomain.com/

【讨论】:

    【解决方案2】:

    虽然我更喜欢自己做,但您可以使用很多插件来提供帮助。我个人使用:

    Redirect 301  /subsite/  http://newdomain.com/
    

    这适用于我将子站点文件夹中的任何内容移动到新域地址,但保留 URL 的其余部分。

    如果您希望子站点中的所有内容都移动到 http://newdomain.com/ 并在此之后丢失 url 中的所有内容,那么您的第二个应该可以工作

    【讨论】:

    • 我想我们已经接近了。这触发了重定向,但就像你说的,我想在 url 之后丢失所有内容。但是我的第二个没有工作。此外,这仅适用于 subsite-one/ 内的页面,但我还需要 subsite-one/ root 进行重定向。
    • 所以不是这个? RewriteRule ^multisite-one/(.*)$ newdomain.com/ [L,R=301]
    • 令人惊讶的是,这并没有做任何事情,但是在将几次尝试合二为一后,我能够弄清楚。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 2011-08-21
    • 2011-11-08
    • 2014-02-27
    • 2017-06-12
    • 2018-02-24
    • 1970-01-01
    相关资源
    最近更新 更多