需要帮助更正正则表达式重定向代码

时间:2020-11-17 作者:kalkun

我有此代码的自定义永久链接

/%year%/%monthnum%/%postname%.html
现在切换到另一个自定义永久链接

%postname%.html
所以很明显,我的所有内容现在都找不到404,在yoast重定向设置中有正确的正则表达式重定向选项,或者我可以使用htaccess重定向我的旧内容

任何人都可以通过yoast或htacces为我提供重定向代码或建议??

非常感谢。

1 个回复
最合适的回答,由SO网友:MrWhite 整理而成

在您的.htaccess 在现有WordPress指令之前,可以执行以下操作重定向旧的永久链接:

RewriteRule ^\\d{4}/\\d\\d/([\\w-]+\\.html)$ /$1 [R=301,L]
TheRewriteRule <模式匹配URL路径减去斜杠前缀。

\\d{4}/ - 匹配四位数年份,后跟斜杠。

\\d\\d/ - 匹配两位数的月数,后跟斜杠。

([\\w-]+\\.html) - 匹配postname和.html 扩大周围的括号将其组成捕获组,然后在替换字符串中使用$1 反向参考。[\\w-] 匹配范围内的字符a-z, A-Z, 0-9, _ (下划线)和- (连字符)。如果您的postname可以包含任何其他字符,则需要将这些字符添加到此字符类中(尽管连字符必须出现在最后)。

使用302(临时)重定向进行测试,以避免出现任何错误时的缓存问题。默认情况下,浏览器会持久缓存301(永久)重定向。

相关推荐

在WordPress.com托管的htaccess在哪里?

我希望上传一个htaccess文件或修改现有的htaccess,假设WordPress正在使用一个htaccess文件。我想要实现的就是拒绝访问我的WordPress站点,并允许特定的IP。我知道如何做到这一点,并且已经在其他地方实现了这一点,但还没有在WordPress上完成这种类型的配置我通过WordPress购买了我的Word press主机,并将SFTP连接到他们提供的详细信息。它似乎连接到htdocs目录,通常我希望将htaccess文件放在那里。然而,将htaccess放在这里并不起作用。它没