首页 > 解决方案 > htaccess 规则将 404 重定向到 301?

问题描述

我正在使用 htaccess 规则从旧方向重定向到新目录。为此,我在 WordPress 的 htaccess 文件中使用了此规则。

RedirectMatch 301 ^/leffa-aineistot/(.+)$ /$1

它在所有情况下都可以正常工作,例如 urlexample.com/leffa-aineistot/xyz重定向到example.com/xyz

现在我已经从 and 更改了一个目录名称,yyy并且yyy1以下规则不会重定向到yyy1 它总是重定向到yyy404 页面错误并且找不到。

我怎样才能重定向example.com/some/xyzexample.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

添加完整的 htaccess 文件代码以便更好地理解。 在此处输入图像描述

标签: wordpress.htaccessredirect

解决方案


注释掉您的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]

推荐阅读