Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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 如何在drupal中将非www重定向到www url_Php_.htaccess_Drupal - Fatal编程技术网

Php 如何在drupal中将非www重定向到www url

Php 如何在drupal中将非www重定向到www url,php,.htaccess,drupal,Php,.htaccess,Drupal,嗨,我在Drupal CMS中遇到了一个问题。我在网上浏览,但没有找到任何关于这方面的结果。在不同的地方,我们阅读了open.htaccess文件,并从一开始就通过removine散列标记取消注释以下行,但这不起作用,请帮助我 # To redirect all users to access the site WITH the 'www.' prefix, # (http://example.com/... will be redirected to http://www.example.co

嗨,我在Drupal CMS中遇到了一个问题。我在网上浏览,但没有找到任何关于这方面的结果。在不同的地方,我们阅读了open.htaccess文件,并从一开始就通过removine散列标记取消注释以下行,但这不起作用,请帮助我

# To redirect all users to access the site WITH the 'www.' prefix,
# (http://example.com/... will be redirected to http://www.example.com/...)
# uncomment the following:
# RewriteCond %{HTTP_HOST} .
# RewriteCond %{HTTP_HOST} !^www\. [NC]
# RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
试试这个

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.yourdomain.com$ [NC]
RewriteRule .? http://www.yourdomain.com%{REQUEST_URI} [R=301,L]
确保.htaccess文件路径位于根目录中

希望它能奏效。

试试这个

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.yourdomain.com$ [NC]
RewriteRule .? http://www.yourdomain.com%{REQUEST_URI} [R=301,L]
确保.htaccess文件路径位于根目录中


希望它能起作用。

你可以这样做

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^yourdomain.com.*$ [NC]
RewriteRule ^(.*)$ http://www.yourdomain.com%{REQUEST_URI} [L,R=301]

你这样做

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^yourdomain.com.*$ [NC]
RewriteRule ^(.*)$ http://www.yourdomain.com%{REQUEST_URI} [L,R=301]

您很可能有Windows共享主机。我看到许多Windows共享主机服务不允许您访问Mod_重写功能。如果这是真的,那么请要求您的主机提供商在这方面帮助您。一旦他们完成了,然后取消对代码的注释。

您很可能拥有Windows共享主机。我看到许多Windows共享主机服务不允许您访问Mod_重写功能。如果这是真的,那么请要求您的主机提供商在这方面帮助您。完成后,请取消对代码的注释。

您可以尝试使用或其他类似模块。它将所有子域重定向到指定的URL,同时仍将Drupal内容提供给域访问中设置的子域

或者,如果仍要使用重写规则,请尝试以下非www到www规则:

 # Redirect all users to access the site WITH the 'www.' prefix
  RewriteCond %{HTTP_HOST} !^www\. [NC]
  RewriteCond %{HTTP_HOST} !\.([a-z-]+\.[a-z]{2,6})$ [NC]
  RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
或从www到非www的另一个方向:

 # Redirect all users to access the site WITHOUT the 'www.' prefix
  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  RewriteCond %{HTTP_HOST} !\.([a-z-]+\.[a-z]{2,6})$ [NC]
  RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
请参阅:

您可以尝试使用或其他类似模块。它将所有子域重定向到指定的URL,同时仍将Drupal内容提供给域访问中设置的子域

或者,如果仍要使用重写规则,请尝试以下非www到www规则:

 # Redirect all users to access the site WITH the 'www.' prefix
  RewriteCond %{HTTP_HOST} !^www\. [NC]
  RewriteCond %{HTTP_HOST} !\.([a-z-]+\.[a-z]{2,6})$ [NC]
  RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
或从www到非www的另一个方向:

 # Redirect all users to access the site WITHOUT the 'www.' prefix
  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  RewriteCond %{HTTP_HOST} !\.([a-z-]+\.[a-z]{2,6})$ [NC]
  RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]

请参阅:

取消注释该代码的最后3行。如果它不起作用,您就没有安装/启用mod_rewrite。请取消注释该代码的最后3行。如果它不工作,您就没有安装/启用mod_rewrite。