Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
Wordpress 强制将www.domain.com\blog重定向到domain.com\blog.htaccess?_Wordpress_.htaccess - Fatal编程技术网

Wordpress 强制将www.domain.com\blog重定向到domain.com\blog.htaccess?

Wordpress 强制将www.domain.com\blog重定向到domain.com\blog.htaccess?,wordpress,.htaccess,Wordpress,.htaccess,我有一个wordpress多站点实例,由于某些原因,它默认为domain.com(/blog,前面没有www。任何前面有www的请求都会被强制到主页(domain.com/blog),而不是它的预期页面,比如domain.com/blog/page 我试图做的是强制所有传入流量剥离www(如果它存在),只需转到/blog/您试图转到的任何页面。我需要它转到请求的页面,当前如果您在/blog URL(/blog/ANY-page-HERE)的末尾有任何内容,它默认为/blog 有人知道我将如何着手

我有一个wordpress多站点实例,由于某些原因,它默认为domain.com(/blog,前面没有www。任何前面有www的请求都会被强制到主页(domain.com/blog),而不是它的预期页面,比如domain.com/blog/page

我试图做的是强制所有传入流量剥离www(如果它存在),只需转到/blog/您试图转到的任何页面。我需要它转到请求的页面,当前如果您在/blog URL(/blog/ANY-page-HERE)的末尾有任何内容,它默认为/blog

有人知道我将如何着手解决这个问题吗?在.htaccess中,这似乎是最简单的方法,但我在做了几个小时之后,似乎找不到可行的解决方案


PS:它是多站点的,所以我不能直接进入设置并将URL和主页更改为www.domain/blog

这是我在网站上使用的内容:

<IfModule mod_rewrite.c>
  RewriteEngine on

  # If your site can be accessed both with and without the 'www.' prefix, you
  # can use one of the following settings to redirect users to your preferred
  # URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
  #
  # To redirect all users to access the site WITH the 'www.' prefix,
  # (http://example.com/... will be redirected to http://www.example.com/...)
  # adapt and uncomment the following:
  RewriteCond %{HTTP_HOST} ^domain\.net$ [NC]
  RewriteRule ^(.*)$ http://www.domain.net/$1 [L,R=301]
</IfModule>

重新启动发动机
#如果您的站点既可以使用“www.”前缀访问,也可以不使用“www.”前缀访问,则您可以
#可以使用以下设置之一将用户重定向到您的首选
#URL,带或不带“www.”前缀。请仅选择一个选项:
#
#要重定向所有用户以访问带有“www.”前缀的网站,
# (http://example.com/... 将被重定向到http://www.example.com/...)
#调整和取消注释以下内容:
RewriteCond%{HTTP_HOST}^domain\.net$[NC]
重写规则^(.*)$http://www.domain.net/$1[L,R=301]

在文档根目录的htaccess中添加以下内容:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.domain\.net$ [NC]
RewriteRule ^blog(.*) http://domain.net/blog$1 [L,R=301]

不管出于什么原因,这都不起作用。谢谢你的回答,你的Apache版本中是否启用了MOD_REWRITE?使用
apache2-t-D DUMP_MODULES
来确定是否列出了REWRITE_module。确实如此。我在服务器上到处使用它。我在根目录中有一个主CMS,在子文件夹\博客中有wordpress。主CMS与www o没有问题在url中不包含www。wordpress multisite安装会这样做。听起来可能是服务器上的配置问题?您确认正在处理.htaccess文件吗?wordpress multisite需要.htaccess才能运行。