使用.htaccess从httpredirect到https而不使用www

我有基于PHP和Apache的应用程序。 如果请求的链接不是目录或文件,则所有请求都会转到index.php文件。 我想redirect所有的请求从http到https和没有www。

对我有效的链接:

  1. https://someaddress.org

从以下链接开始对我无效(对不起,我的声誉是非常小的,我不能发布更多2个链接):

  1. HTTP://
  2. http:// www 。
  3. 万维网。

我的htaccess看起来像那样

AddDefaultCharset UTF-8 RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*) index.php [L] 

我可以做redirect到https和没有www?

http->httpwww删除有另一个规则:

 AddDefaultCharset UTF-8 RewriteEngine on RewriteBase / RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^www\. [NC] RewriteRule ^ https://someaddress.org%{REQUEST_URI} [L,NE,R=301] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] 

您可以使用SSLRequireSSL指令覆盖http到https部分。

 <Directory /> SSLRequireSSL </Directory> 

如果问题是htaccess文件,而不是重写规则,则可以停止使用.htaccess文件,并将重写规则移至apache配置文件。

如果你只是不想或可以使用重写规则,并且由于绝大多数PHP应用程序需要包含在每个脚本(配置变量或用户控件作为示例)中的配置文件,您可以使用此文件来获取请求的资源,万维网。 部分如果域名以他们开头。

如果包含文件可能是您需要的解决方案,我可以提供一个php代码示例。