2017-07-25 38 views
1

今天,我将我的wordpress网站从根目录移动到同一个域中的子目录。我将所有文件移动到新的子目录。我也有安装301通配符重定向从主机的cPanel移动到子目录后WordPress重定向不工作

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,那么它也显示正确的帖子,而不是r将其编辑为https://www.example.com/blog/this-is-a-post

当我通过谷歌浏览然后逛旧地址唯一,即无字“博客”。

一件事是发生被重定向到https://www.example.comhttps://www.example.com/blog这也是我不想什么,因为我有一个网页不同的HTML索引文件在WordPress后台

URL设置 -

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

网站地址(URL) - 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 
+0

请包括您的.htaccess文件的内容。 cPanel重定向非常基本,容易出错,它也可能将指令放在错误的地方(如果你使用的是WordPress)。 – MrWhite

+0

是的,我添加了.htaccess文件的内容,并通过cpanel/blog /添加301通配符重定向后自动添加到它 –

+0

您是否访问过'/ wp-admin/permalinks'页面?这通常会有所帮助。您是否尝试了隐身模式进行测试?我看起来很好。您可能会在浏览器中缓存某些内容。 – admcfajn

回答

0

去除从根目录移除301的WordPress的.htaccess和index.php文件后,从的cPanel重定向。该问题得到解决。现在我在roodex.com有不同的欢迎页面,并在roodex,COM /博客WordPress的博客,但现在的问题是,当访问通过谷歌搜索结果那么谷歌展示老后的URL链接,参观过之后它显示“未找到“而不是重定向到新的网址。

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

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

所以,在根网站(我相信现在是空的)的.htaccess文件,请尝试以下操作:

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

更改302(临时)重定向到一个301(永久)当你确定这工作正常。 301s被浏览器强制缓存,因此可能导致测试出现问题。

+0

是的,它开始重定向。它会创建问题,如果我安装另一个PHP脚本或登陆页面或另一个WordPress的cms在根目录中? –

+1

如果您安装使用前端控制器类型模式的脚本(其中所有不存在的/虚拟URL都会被重写)会导致问题请去处理路由的脚本) - 这几乎包括所有的CMS。因为你无法盲目地将所有不存在的URL重定向到你的'/ blog'子目录。但是,如果您的CMS允许,您可以使用CMS的404(不是'.htaccess')重定向。或者,您可以单独重定向所有旧网址,除非旧网址具有特定的_pattern_(这将允许您创建单个规则)。 – MrWhite

+0

如果这回答了您的问题,请通过检查左侧的绿色勾号接受上述答案。您也可以提出您认为有用的答案。非常感谢,谢谢。 – MrWhite