wordpress - htaccess 规则将 404 重定向到 301?
问题描述
我正在使用 htaccess 规则从旧方向重定向到新目录。为此,我在 WordPress 的 htaccess 文件中使用了此规则。
RedirectMatch 301 ^/leffa-aineistot/(.+)$ /$1
它在所有情况下都可以正常工作,例如 urlexample.com/leffa-aineistot/xyz
重定向到example.com/xyz
现在我已经从 and 更改了一个目录名称,yyy
并且yyy1
以下规则不会重定向到yyy1
它总是重定向到yyy
404 页面错误并且找不到。
我怎样才能重定向example.com/some/xyz
到example.com/xyz1
我在 WordPress 中使用它。
此重定向中的任何帮助都将受到高度重视。
htaccess 文件代码
RewriteOptions inherit
# BEGIN WordPress
RewriteEngine On
RewriteBase /~whkinghillfi/
RewriteRule ^index\.php$ - [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
RewriteRule . /~whkinghillfi/index.php [L]
# END WordPress
RewriteEngine On
RedirectMatch 301 ^/leffa-aineistot/(.+)$ /$1
解决方案
注释掉您的RedirectMatch
指令,因为它只是/leffa-aineistot
从所有 URL 中删除。
就在下面这一RewriteBase
行,您可以先插入特定的重定向规则,然后再使用通用重定向规则:
# specific redirect
RewriteRule ^leffa-aineistot/sffilm/?$ /sfstudios [L,NC,R=301]
# generic redirect
RewriteRule ^leffa-aineistot/(.+)$ /$1 [L,NC,R=301]
推荐阅读
- javascript - 无法读取未定义的“id”
- javascript - 如何在 blueprintjs v3 的反应应用程序中为所有子组件切换主题(明暗)?
- angular - Angular 8 的日期时间选择器指令
- python - 在 concat 之后,值更改为 float 并且不保留在 int 中(尝试在 concat 之前对其进行转换。)
- google-web-designer - 如何为 Google Web Designer HTML5 广告生成“GCW”元标记?
- c# - 使用 JavaScriptSerializer 反序列化 JSON 字符串以返回单个动态对象而不是键和值数组
- java - 我们如何将 Java 中的 Timestamp 数据类型转换为 JPA 实体 Java 中的 UTC 时区?
- python - 如何在python中使所有位反转?
- html - 悬停时,当我将 svg 放入标签时,标签标题无法用作工具提示
- react-native - 如何在 react-native 中使用多滑块将厘米值转换为英尺?