Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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 .htaccess是否将所有请求重定向到非www https域?_Php_Apache_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

Php .htaccess是否将所有请求重定向到非www https域?

Php .htaccess是否将所有请求重定向到非www https域?,php,apache,.htaccess,mod-rewrite,redirect,Php,Apache,.htaccess,Mod Rewrite,Redirect,我知道已经有很多关于堆栈溢出的问题了,但是我发现没有一个解决方案能够正常工作 我已经设置了一个SSL证书,它要求它所在的域是非www的 我想将访问我的网站的用户重定向到以下位置,无论他们来自何处: http://example.com变为https://example.com http://www.example.com变为https://example.com https://www.example.com变为https://example.com 应该很简单,但不幸的是我没有.htacces

我知道已经有很多关于堆栈溢出的问题了,但是我发现没有一个解决方案能够正常工作

我已经设置了一个SSL证书,它要求它所在的域是非www的

我想将访问我的网站的用户重定向到以下位置,无论他们来自何处:

http://example.com
变为
https://example.com

http://www.example.com
变为
https://example.com

https://www.example.com
变为
https://example.com


应该很简单,但不幸的是我没有.htaccess知识。谢谢你的帮助

您可以在
文档\u ROOT/.htaccess
文件中使用此代码:

RewriteEngine On

RewriteCond %{HTTPS} off [OR]
RewriteCond ^www\. [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [R=301,NE,L]

以下规则集满足以下6种情况:

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]


Cases: 
C1: http://example.com/
C2: http://www.example.com/
C3: https://www.example.com/

C4: http://example.com/LineDemo/
C5: http://www.example.com/LineDemo/
C6: https://www.example.com/LineDemo/

这个规则在没有子目录的情况下正常工作,但是当您添加子目录时,case。让我知道您可以解决此问题并更新htaccess规则此规则与子目录无关。你可能还有其他问题。请详细回答一个新问题,我将尝试回答。感谢Anubhava的快速回复,但我已经在本文的帮助下解决了这个问题,