【问题标题】:htaccess, redirect and remove ID to new domainhtaccess,重定向和删除 ID 到新域
【发布时间】:2017-12-28 14:49:13
【问题描述】:

我将旧域更改为新域。 问题是,不仅域名会被替换,而且每篇文章的所有url也会被替换。
举个例子;

http://OLDdomain.com/read/100/this-is-url/
到,
http://NEWdomain.com/this-is-url/

我在 .htaccess 上尝试了多种方法,但都不起作用
感谢您的帮助。

更新

我已经在旧域中尝试过这个公式

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteCond %{HTTP_HOST} ^OLDdomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.OLDdomain.com$
RewriteRule (.*)$ http://NEWdomain.com/$1 [R=301,L]

</IfModule>

这将返回,
NEWdomain.com/read/100/this-is-url/
不像我想象的那样

【问题讨论】:

    标签: regex wordpress .htaccess


    【解决方案1】:

    假设您的新域指向不同的文档根目录,您可以使用以下重定向:

    RedirectMatch ^/read/[0-9]+/(.+)$ http://newdomain.com/$1
    

    【讨论】:

    • 我应该把它放在哪里,旧域还是新域?
    • 在您的 olddomain/.htaccess 中
    【解决方案2】:

    这样的事情应该可以工作:

    <IfModule mod_rewrite.c>
    
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^OLDdomain.com/read/([0-9]+)/(.*) [OR]
    RewriteCond %{HTTP_HOST} ^www.OLDdomain.com/read/([0-9]+)/(.*)
    RewriteRule (.*)$ http://NEWdomain.com/$2 [R=301,L]
    
    RewriteCond %{HTTP_HOST} ^OLDdomain.com/(.*) [OR]
    RewriteCond %{HTTP_HOST} ^www.OLDdomain.com/(.*)
    RewriteRule (.*)$ http://NEWdomain.com/$1 [R=301,L]
    
    </IfModule>
    

    【讨论】:

    • 100 只是来自数千个其他 ID 的示例 ID。可能是 101、102 等等
    • 简单的是,我想把http://OLDdomain.com/read/{id}/{pretty url}/改成http://NEWdomain.com/{pretty url}/
    猜你喜欢
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 2012-09-17
    相关资源
    最近更新 更多