使用 .htaccess 重定向 URL 而不使用尾随帖子 ID

Posted

技术标签:

【中文标题】使用 .htaccess 重定向 URL 而不使用尾随帖子 ID【英文标题】:Redirect URL without trailing post id using .htaccess 【发布时间】:2021-03-22 13:26:09 【问题描述】:

我有一个场景,我需要使用 .htaccess 重定向所有 URL 或 wordpress,而不用尾随帖子 ID

例子:

https://example.com/chapter/subject-origin-chapter/1223 到 https://example.com/chapter/subject-origin-chapter

https://example.com/subject/subject-physics/38957 到 https://example.com/subject/subject-physics

也欢迎其他解决方案。

当前的 .htaccess 是:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule . /index.php [L]
</IfModule>

【问题讨论】:

请在您的问题中与您分享您现在拥有的 htaccess 规则文件。 @RavinderSingh13 它通常的 wordpress .htaccess 没有任何添加。但是,让我将此添加到我的问题中。 只要RewriteRule ^((chapter|subject)/.*)/[0-9]+ $1 [R=301,L] 就可以了。当然要放在一般的 WP 重写之前。 【参考方案1】:

我找到了一个解决方案:

RewriteRule ^chapter/([a-zA-Z0-9-]+)/(\d+)$ /chapter/$1 [L, R=301]
RewriteRule ^subject/([a-zA-Z0-9-]+)/(\d+)$ /subject/$1 [L, R=301]

【讨论】:

以上是关于使用 .htaccess 重定向 URL 而不使用尾随帖子 ID的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess 将域重定向到子目录而不更改 URL

.htaccess:重定向而不更改 url

.htaccess 重定向而不更改地址栏

使用 .htaccess 重定向 404 而不重定向尾部斜杠

301 使用 .htaccess 重定向 URL 模式

.htaccess 重定向 .php 和 .html 请求