Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将子域指向根,而不使用子目录_Php_Wordpress_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

Php 将子域指向根,而不使用子目录

Php 将子域指向根,而不使用子目录,php,wordpress,.htaccess,mod-rewrite,redirect,Php,Wordpress,.htaccess,Mod Rewrite,Redirect,我有以下情况: blog.site.com指向服务器1 site.com指向服务器2。 我希望blog.site.com成为site.com/blog。所以我想我会将blog.site.com指向server2,并将其放入一个子文件夹blog中,在那里我可以放置一个.htaccess文件来执行301重定向。但是,通过创建blog子目录,它会覆盖/blog/title,并在此处显示一个空白目录 我的问题是服务器1正在停用,因此无法用于301重定向 是否有一种方法可以将blog.site.com指向

我有以下情况:

blog.site.com指向服务器1 site.com指向服务器2。 我希望blog.site.com成为site.com/blog。所以我想我会将blog.site.com指向server2,并将其放入一个子文件夹blog中,在那里我可以放置一个.htaccess文件来执行301重定向。但是,通过创建blog子目录,它会覆盖/blog/title,并在此处显示一个空白目录

我的问题是服务器1正在停用,因此无法用于301重定向

是否有一种方法可以将blog.site.com指向server2,使其成为site.com/blog/title-goes-here,而无需使用blog子目录?或者使用博客子目录但不干扰url


请注意。这是一个wordpress网站,已导入serve1的帖子。保持博客作为site.com网站的一部分很重要。

除非我遗漏了什么,否则你不需要重定向-你需要重写规则

让blog.site.com和site.com的DNS条目指向server2。然后在server2上的.htaccess中添加相应的规则:

RewriteCond %{HTTP_HOST} ^blog\.site\.com$
RewriteRule (.*) /blog/$1 [L]
现在,无论您访问site.com还是blog.site.com,最终都将访问同一台服务器。然后,重写规则将确保blog.site.com/something类型的请求实际调用site.com/blog/something


请注意,我还没有对此进行测试。

它用一个空白目录覆盖/blog/title。什么我不明白。如果您将网站放在这个目录中,并且您已经确保了1。您已经修改了数据库中的home和site_url值,2。您有一个默认的wordpress index.php页面,3。您已重置永久链接和4。.htaccess的标准代码已经修改为包含/blog/index.php,而不仅仅是index.php。那么这应该不是问题。我的问题是服务器1正在退役,因此无法用于301重定向。好您可以将blog.site.com指向server2并创建一个专用的VirtualHost,该VirtualHost响应blog.site.com以处理301重定向。并且实际的.htaccess文件可以放置在路由中吗?不在子目录中?我假设blog.site.com将被定向到blog子目录?您需要将.htaccess放在根目录中。很抱歉响应延迟。这实际上不起作用。重定向成功,但由于子域映射到子目录,因此被空白目录覆盖。我最终复制了blog子目录中的根文件。我也许会看看是否可以用符号链接来代替。@iamjonesy你真的需要解释一下。被空白目录覆盖是什么意思??有人已经在对你的问题的评论中问过你这个问题,但你没有回答。