【问题标题】:Custom 301 Redirects using Regex使用正则表达式的自定义 301 重定向
【发布时间】:2015-02-27 02:22:12
【问题描述】:

我对此进行了一些研究,但找不到好的解决方案。我来自 ASP.net 背景,正在将我们的网站迁移到 WordPress。

我的旧作品集链接格式如下

/custom-website-design/airline-aviation/5

新网站上的相同链接将是

/custom-website-design/airline-aviation

注意最后一个“/5”不存在。在我的旧网站上,我用它来查找后端的类别。

现在我的问题是,在 wordpress 中,使用插件或自定义 .htaccess 文件,我可以让网站查找

/custom-website-design/(ANYTHING)/(NUMERIC) 

然后让它重定向到

/custom-website-design/(ANYTHING)

再次感谢!

【问题讨论】:

    标签: php regex wordpress .htaccess redirect


    【解决方案1】:

    可以使用 WordPress 重写模块来完成,但我不是专家。
    无论如何,您也可以使用 .htaccessmod_rewrite 来完成。

    您可以将此代码放在您的 htaccess 中(必须在根文件夹中)

    RewriteEngine On
    RewriteRule ^custom-website-design/([^/]+)/[0-9]+$ /custom-website-design/$1 [R=301,L]
    

    注意:由于您使用的是 WordPress,因此您必须将此规则放在 WordPress 的主要规则之前。
    最终应该是这样的

    RewriteEngine On
    
    RewriteRule ^(custom-website-design/[^/]+)/[0-9]*$ /$1 [R=301,L]
    
    # WordPress
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ /index.php [L]
    

    【讨论】:

    • 谢谢。那工作得很好。我在 WordPress 中使用“重定向”插件也有类似的规则,但它没有做任何事情。我按照您的描述编辑了 .htaccess 并且它立即工作。再次感谢!
    猜你喜欢
    • 2018-06-17
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 2012-06-21
    • 2014-12-05
    • 2018-05-31
    • 2020-10-14
    相关资源
    最近更新 更多