Wordpress 在域更改后编辑my.htaccess文件以将旧url重定向到新url
有人能帮我处理.htaccess文件吗? 我把我的域名从olddomain.com改为newdomain.com,而没有建立一个完全不同的网站 我只是进去,更改了URL,在cpanel中修复了一些东西,然后停了域名,继续我的生活。这是一个新网站,所以我认为重定向并不重要,因为我没有得到任何流量 现在我超重要的博客文章是排名,但在我的旧网址上,绝对没有办法重定向任何东西 我尝试了插件,它基本上只给了我从我的新网址301重定向的选项 我知道我没有做作业 我就是这么做的:Wordpress 在域更改后编辑my.htaccess文件以将旧url重定向到新url,wordpress,apache,.htaccess,redirect,file-manager,Wordpress,Apache,.htaccess,Redirect,File Manager,有人能帮我处理.htaccess文件吗? 我把我的域名从olddomain.com改为newdomain.com,而没有建立一个完全不同的网站 我只是进去,更改了URL,在cpanel中修复了一些东西,然后停了域名,继续我的生活。这是一个新网站,所以我认为重定向并不重要,因为我没有得到任何流量 现在我超重要的博客文章是排名,但在我的旧网址上,绝对没有办法重定向任何东西 我尝试了插件,它基本上只给了我从我的新网址301重定向的选项 我知道我没有做作业 我就是这么做的: <IfModule m
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
# END HTTPS
# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
2个月后:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
# END HTTPS
# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
- 仍然在我的旧博客上排名
- 仍然没有在我的新的索引
- 已删除已驻留的域,以查看它是否有影响
- 已删除旧域上的站点地图
- 要求谷歌请求索引
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
# END HTTPS
# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
重新启动发动机
重写cond%{HTTP:X-Forwarded-Proto}!https
重写条件%{HTTPS}关闭
重写规则^https://%{HTTP_HOST}%{REQUEST_URI}[L,R=301]
#结束HTTPS
#开始WordPress
#“开始WordPress”和“结束WordPress”之间的指令(行)为
#动态生成,只能通过WordPress过滤器修改。
#这些标记之间对指令的任何更改都将被覆盖。
重新启动发动机
重写规则。*-[E=HTTP\U授权:%{HTTP:AUTHORIZATION}]
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress
如有任何建议,将不胜感激。我在这里确实学到了一课
如果我能修复这个.htaccess文件,我显然会重新标记这个域
谢谢 当前的
.htaccess
文件似乎没有任何问题,您只需要在.htaccess
文件顶部实现从旧域到新域的外部301重定向
但是,假设主域和“停驻”域都指向同一站点(文件系统上的同一区域),那么您不能像Siteground教程所建议的那样简单地重定向,因为这将自然创建重定向循环-因为它无条件地将所有内容重定向到新域,包括对新域的请求!在重定向之前,您需要检查是否请求了旧域(或不是新域)
仅在.htaccess
文件顶部添加以下内容:
RewriteCond %{HTTP_HOST} !^www\.newdomain\.com$
RewriteRule (.*) https://www.newdomain.com/$1 [R=301,L]
我假设规范方案和主机名是HTTPS+www.newdomain.com
对于请求的主机
头不是(!
前缀)www.newdomain.com
的所有请求(*
),上述状态都将重定向到https://www.newdomain.com/
-与请求的URL路径相同
您需要确保WordPress是为新域配置的,并且所有内部链接都是使用新域构建的
在更改为301(永久)重定向之前,应首先使用302(临时)重定向进行测试,以避免潜在的缓存问题
您不需要重复
RewriteEngine On
指令。文件后面出现的RewriteEngine
指令就足够了。“……而且绝对没有办法301重定向任何内容!”-为什么不呢?这使我的网站崩溃了。。