Wordpress 301重定向同一域中的目录

Wordpress 301重定向同一域中的目录,wordpress,.htaccess,redirect,Wordpress,.htaccess,Redirect,我的客户端目前在根目录中安装了WordPress,在成员区的子目录中安装了一个单独的WP 她已将成员区域移动到新域,现在希望从原始站点删除成员目录 但是,她希望所有位于成员区域的图像链接都被重定向到它们现在位于原始站点根目录中的位置 例如: 当前路径是 example.com/members/wp-content/uploads/year/month/imagename.jpg 新的道路将是 example.com/wp-content/uploads/year/month/imagename

我的客户端目前在根目录中安装了WordPress,在成员区的子目录中安装了一个单独的WP

她已将成员区域移动到新域,现在希望从原始站点删除成员目录

但是,她希望所有位于成员区域的图像链接都被重定向到它们现在位于原始站点根目录中的位置

例如:

当前路径是

example.com/members/wp-content/uploads/year/month/imagename.jpg
新的道路将是

example.com/wp-content/uploads/year/month/imagename.jpg
所以/uploads/之后的所有内容都需要指向/members/uploads/现在所在的位置

在搜索了这个网站和其他网站后,我尝试了几种不同的变体,但没有任何效果

这是我尝试的最后一个变体:

RewriteEngine on
RewriteBase /
RewriteRule ^members/(.*)$ http://example.com/$1 [R=301,L]
谢谢你的帮助

这是当前.htaccess文件的副本

RewriteEngine on
RewriteBase /
RewriteRule ^members/(.*)$ http://example.com/$1 [R=301,L]

# block referer spam
RewriteEngine On
RewriteCond %{HTTP_REFERER} buttons\-for\-website\.com
RewriteRule ^.* - [F,L]

RewriteOptions inherit
# BEGIN PopUpBypass
# END PopUpBypass

#Use PHP 5.4
# Use PHP54 as default
AddHandler application/x-httpd-php54 .php
<IfModule mod_suphp.c>
    suPHP_ConfigPath /opt/php54/lib
</IfModule>

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

# END WordPress

SetEnvIfNoCase Via evil-spam-proxy spammer=yes
SetEnvIfNoCase Referer evil-spam-domain.com spammer=yes
SetEnvIfNoCase Referer evil-spam-keyword spammer=yes
SetEnvIfNoCase Via pinappleproxy spammer=yes
SetEnvIfNoCase Referer semalt.com spammer=yes
SetEnvIfNoCase Referer poker spammer=yes

Order allow,deny
Allow from all
Deny from env=spammer

<Files "xmlrpc.php">
Order Allow,Deny
deny from all
</Files>
重新编写引擎打开
重写基/
重写规则^members/(.*)$http://example.com/$1[R=301,L]
#阻止引用垃圾邮件
重新启动发动机
重写\-website\.com的cond%{HTTP_REFERER}按钮\-
重写规则^.*-[F,L]
重写选项继承
#开始popuppypass
#结束弹出窗口
#使用PHP5.4
#使用PHP54作为默认值
AddHandler应用程序/x-httpd-php54.php
suPHP_ConfigPath/opt/php54/lib
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress
SetEnvIfNoCase Via evil spam proxy spammer=yes
SetEnvIfNoCase Referer evil-spam-domain.com垃圾邮件发送者=是
SetEnvIfNoCase Referer邪恶垃圾邮件关键字垃圾邮件发送者=是
通过pinappleproxy垃圾邮件发送器设置EnvifNocase=是
SetEnvIfNoCase Referer semalt.com垃圾邮件发送者=是
SetEnvIfNoCase Referer poker spammer=是
命令允许,拒绝
通融
拒绝来自env=垃圾邮件发送者
命令允许,拒绝
全盘否定

这样试试你的规则

RewriteEngine on
RewriteBase /
RewriteRule ^members/(.*)$ http://example.com/$1 [R=301,L]

让我知道这是怎么回事。

/members/.htaccess中尝试以下规则:

RewriteEngine on

RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

谢谢你的回答:)我已经试过了,但仍然不起作用:(我想知道是否有什么东西与它相冲突。这是.htaccess文件中的内容。我将在上面的帖子中添加一份副本,以便您可以清楚地看到到底发生了什么事?我不知道
仍然不工作
意味着什么。它做什么或不做什么。同时清除您的浏览器缓存或在另一个浏览器中尝试。很抱歉没有更清楚。当我在我的浏览器中输入服务器上图像的url,并在路径中包含/members/,我希望它重定向到不包含/members/的路径。不幸的是,它没有重定向,我仍然可以在浏览器中的路径中看到/members/。是的,我一直在清除缓存并在两个浏览器中尝试。你确定它正在读取你的htaccess文件吗?其他一切都正常吗?这里有一个域上的url,你可以看到-它应该重定向到ahhh,所以可能是成员目录中的.htaccess导致了问题。我将删除它,希望我删除后一切都能正常工作。只有一种方法可以找到!哈哈。我会在以后更新这个线程。你知道吗不需要删除
/members/.htaccess
,因为它可能对您的网站有一些重要的指示。只需将此规则放置在
/members/.htaccess
中,作为使其生效的第一条规则。对不起,我不够清楚-成员区域已移动到新域,因此它在原始域中根本不存在n、 我想捕获指向已上载到成员区域的图像的任何链接,并将它们重定向到现在位于根上载文件夹中的图像文件。即旧路径:example.com/members/wp-content/uploads/重定向到:example.com/wp-content/uploadsHmm在这种情况下,您可以创建一个名为
members/ 并将上述规则放入
/members/.htaccess
感谢您的帮助