移动到子目录后,WordPress重定向无法正常工作

时间:2017-07-25 17:56:06

标签: php wordpress .htaccess redirect http-status-code-301

今天我将wordpress网站从根目录移动到同一域中的子目录。我将所有文件移动到新的子目录。我还从Hosting cpanel

设置了301通配符重定向

301通配符重定向设置 -

旧地址 - https://www.example.com

新地址 - https://www.example.com/blog/

当我直接访问https://www.example.com/blog/this-is-a-post之后的任何帖子时,它显示正确的帖子没有任何错误,但是当我打开相同的帖子时没有“博客”字即https://www.example.com/this-is-a-post然后它也显示正确的问题发帖而不是将其重定向到https://www.example.com/blog/this-is-a-post

当我通过谷歌访问时,它只访问旧地址,即没有“博客”这个词。

还有一件事就是将https://www.example.com重定向到https://www.example.com/blog,这也是我不想要的,因为我的主页有不同的html索引文件

Wordpress信息中心中的网址设置 -

WordPress地址(网址) - https://www.example.com/blog

网站地址(网址) - https://www.example.com/blog

.htaccess文件的内容:

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

# END WordPress

1 个答案:

答案 0 :(得分:0)

  

从Root目录中删除wordpress的.htaccess和index.php文件并从cpanel删除301重定向。问题得到解决。现在我在roodex.com上有不同的欢迎页面,并且在roodex上有wordpress博客,com / blog 但现在问题是当通过谷歌搜索结果访问时谷歌显示旧的帖子网址链接,并在访问之后显示& #34;未找到&#34;而不是重定向到新网址。

假设您只是从站点的根目录提供静态文件(即,您没有虚拟URL和像WordPress这样的前端控制器),那么您可以做的最好的方法是重定向任何对根目录的请求(不在/blog子目录中映射到物理文件的/blog之外,并希望获得最佳效果。如果URL在WordPress中不存在,那么您只需获得WordPress的404页面。

我假设您在处理WordPress请求的.htaccess子目录中有一个/blog文件?

因此,在您网站的根目录中的.htaccess文件中(我认为现在为空),请尝试以下操作:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !blog/ /blog%{REQUEST_URI} [R=302,L]

如果您确定此功能正常,请将302(临时)重定向更改为301(永久)。 301s被浏览器缓存,因此可能会使测试成为问题。