gpt4 book ai didi

php - 使用 htaccess 和正则表达式重写旧 URL

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:44:44 25 4
gpt4 key购买 nike

我在运行的基于 WordPress 的网站上遇到关于我的 .htaccess 文件中的重写规则的问题。

最近对网站进行了大修,我的永久链接结构发生了变化。以前是

/%year%/%monthnum%/%postname%.html

现在是

/%year%/%monthnum%/%postname%/

我遇到的问题是 Google 存储了所有 .html 链接。因此,通过 Google 访问链接的访问者会收到 404。

我希望发生的是,只要传入的 URL 末尾有 .html 并匹配永久链接结构格式,重定向到相同的 URL,只是没有 html 扩展名。

我尝试将重写规则添加到我的 .htaccess 文件中,但遇到无法正常工作的问题。我不确定是什么问题。

RewriteEngine On
RewriteBase /mywebsite.com/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]{4}+)/([0-9]{2}+)/([a-zA-Z0-9-]+).html$ $1/$2/$3/

最佳答案

你很接近,但你的正则表达式有点偏离轨道。试试这个规则:

RewriteEngine On
RewriteBase /mywebsite.com/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]{4})/([0-9]{2})/(.+?)\.html$ $1/$2/$3/ [L,NC,NE,R=301]

关于php - 使用 htaccess 和正则表达式重写旧 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20617545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com