wordpress固定链接更改后,已经收录的文章怎么处理那? Published on Jan 10, 2024 in 随笔 with 0 comment 我用的apache代理服务器 可以使用正则在 如果你想设置Apache重写规则,使得只有当URL中存在多于一个破折号(-)时才进行重定向,你可以通过调整正则表达式来实现。在这种情况下,你需要一个正则表达式,它匹配包含至少两个破折号的URL。 以下是相应的.htaccess配置: apache ``` RewriteEngine On # 如果请求的文件或目录不存在,并且URL包含至少两个破折号,则进行重定向 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/?([a-zA-Z0-9-]+-[a-zA-Z0-9-]+-[a-zA-Z0-9-]+)(/?)$ /blog/$1 [R=301,L] ``` 这个配置的工作方式如下: RewriteEngine On 启用Apache重写引擎。 RewriteCond %{REQUEST_FILENAME} !-f 和 RewriteCond %{REQUEST_FILENAME} !-d 这两个条件确保只有当请求的文件或目录实际不存在时,规则才会生效。 RewriteRule 匹配包含至少两个破折号的URL。正则表达式 ([a-zA-Z0-9-]+-[a-zA-Z0-9-]+-[a-zA-Z0-9-]+) 确保URL中至少有两个破折号。 这意味着,只有当URL中至少包含两个破折号且对应的资源不存在(通常会返回404错误)时,重定向才会发生。 请确保在实施这些更改之前备份你的.htaccess文件,并在更改后测试网站以确保一切按预期工作。调整这类规则可能会对你的网站访问和SEO产生影响,因此请仔细测试以确保没有意外的副作用。 本文由 admin 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。