我正在使用wordpress并尝试将我网站上的某个页面指向另一个子目录,但是在加载时它正在删除目录。
示例:
要重定向的网址: example.com/blog/directory/
目标网址: example.com/blog/new-directory/more-directory/
最终网址 example.com/new-directory/more-directory/
它删除了“博客”目录,然后给了我一个404.请大家帮帮忙
使用.htaccess更新:
<IfModule mod_rewrite.c>
RewriteEngine On
Options +FollowSymLinks
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
RedirectMatch 301 /blog/files/(.*) /files/$1
RedirectMatch 301 /blog/directory/(.*) /blog/new-directory/more-directory/$1
</IfModule>
答案 0 :(得分:0)
如果您可以访问example.com/blog/directory/的页面html文件,只需在文件中插入以下代码
<META http-equiv="refresh" content="0;URL=example.com/blog/new-directory/more-directory/">
答案 1 :(得分:0)
不要将mod_alias
规则与mod_rewrite
混合,并在WP规则之前设置为301。
这应该在您的/blog/.htaccess
:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
Options +FollowSymLinks
RewriteRule ^files/(.*)$ /files/$1 [L,R=301,NC]
RewriteRule ^directory/(.*)$ new-directory/more-directory/$1 [L,R=301,NC]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>