使用Ezoic,广告收入增加50-250%。 Google认证发布合作伙伴。
使用Ezoic,广告收入增加50-250%。 Google认证发布合作伙伴。
 

什么是强制HTTPS和WWW但允许localhost的最佳方法?

什么是强制HTTPS和WWW但允许localhost的最佳方法? [简体中文]

使用Ezoic,广告收入增加50-250%。 Google认证发布合作伙伴。
使用Ezoic,广告收入增加50-250%。 Google认证发布合作伙伴。
 

HTACCESS强制HTTPS和WWW但允许localhost

强制HTTPS和WWW非常重要,原因如下:通过显示连接是安全的,赢得访问者的信任,如果您使用的是子域名(如www),则可以在便宜的网站上保持与访问者和报告的一致性举办例如。

在Google Search Console等报表引擎中,对于完全相同的网站和网页,可能会有不同的视图。一个具有安全HTTPS连接,一个没有,其中一个具有Web子域www,另一个没有,甚至成为一个噩梦,导致您必须设置Google Analytics子域过滤器以获得一致的报告。

实际上有一些简单的方法可以确保所有访问者都被重定向到 HTACCESS强制HTTPS 版本的站点和Web子域中的安全,而不会影响访问,并且它还可以用于 将网站重定向到另一个网站 优雅的方法。

并且,最重要的是,为了确保可以在没有Web子域或重定向到HTTPS的情况下访问localhost子域,并且以slash结尾的页面将被重定向到正常页面,以避免报告中相同页面的重复计数。

让我们摆脱所有这些重复的页面,这使得最终难以正确地重新分析分析:

  • http://mywebsite.com/page

  • http://mywebsite.com/page/

  • https://mywebsite.com/page

  • https://mywebsite.com/page/

  • http://www.mywebsite.com/page

  • http://www.mywebsite.com/page/

  • https://www.mywebsite.com/page

  • https://www.mywebsite.com/page/

  • 所有这些都将通过更新.htaccess的文件来完成,该文件是Apache服务器上使用的隐藏文件,通常存储在网站的根文件夹中。

重定向页面以斜杠结尾

要从以其中一个结尾的URL中删除结束斜杠,并将请求重定向到没有斜杠的标准页面,只需将以斜杠开头和结尾的URL匹配,确保它不是所请求的目录,并重定向到没有结束斜杠的整个请求URI。

此外,将页面重定向到应该正确的安全Web URL - 这将直接解决所有潜在问题,包括结束斜杠,非安全请求或非Web子域。

我们还需要一段额外的代码来确保对目录的任何请求都以斜杠结尾,因为正常的网站目录URL最终会以其中一个为止。

# Remove trailing slash from non-filepath urls
RewriteCond %{REQUEST_URI} /(.+)/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ https://www.mywebsite.com/%1 [R=301,L]
# Include trailing slash on directory
RewriteCond %{REQUEST_URI} !(.+)/$
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ https://www.mywebsite.com/$1/ [R=301,L]

HTACCESS强制HTTPS并强制WWW htaccess的

现在已经解决了结束斜杠问题,让我们关注可能发生的丢失的HTTPS或丢失的Web子域,使用强制www将htaccess的重定向到https。

实现它的最简单,最时尚的方法是在完全相同的htaccess的条件下识别它们。

通过匹配不以Web子域开头的URL或任何不包含HTTPS的请求,以及重定向我们网站的正确URL(包括安全连接和Web子域www),可以轻松完成此操作。

# HTACCESS force HTTPS and force WWW htaccess 
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

强制HTTPS和WWW但允许localhost

现在,这一切都很好,但是当我们真正尝试在XAMPP本地服务器上以开发模式访问我们的网站时会发生什么,但我们对http:// localhost的所有请求现在都被重定向到https://www.mysite.com - 我们的生产版本?

那么解决方案是重用前一段代码来强制执行HTTPS请求的HTTPS和WWW版本,但是通过从检查请求中排除,这些检查请求要么是地址主机,要么是我们的本地IP地址,即127.0.0.1。

就是这样,我们现在拥有一块漂亮的代码来解决我们所有的问题!

# HTACCESS force HTTPS and force WWW htaccess 
RewriteCond %{HTTP_HOST} !^localhost [NC]
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

将HTTP重定向到HTTPS htaccess的,强制WWW并删除结束斜杠

下面的整段代码可以在HTACCESS文件中使用,以实现以下所有功能:

在htacces中将HTTP重定向到HTTPS,

在htaccess的中强制WWW,

删除URL中的结尾斜杠。

当然,不要忘记更改适用于您的网站的网址。

它甚至可以用于 将网站重定向到另一个网站 ,只需将目标网址更改为其他最便宜的网站托管网站:

#--------------------------------------------------
# Force WWW htaccess : /
#--------------------------------------------------
#### Force HTTPS://WWW and remove trailing / from files ####
## Turn on rewrite engine
RewriteEngine on

# Remove trailing slash from non-filepath urls
RewriteCond %{REQUEST_URI} /(.+)/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ https://www.mywebsite.com/%1 [R=301,L]

# Include trailing slash on directory
RewriteCond %{REQUEST_URI} !(.+)/$
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ https://www.mywebsite.com/$1/ [R=301,L]

# HTACCESS force HTTPS and force WWW htaccess
RewriteCond %{HTTP_HOST} !^localhost [NC]
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]
使用Ezoic,广告收入增加50-250%。 Google认证发布合作伙伴。
使用Ezoic,广告收入增加50-250%。 Google认证发布合作伙伴。
 

类似的文章

使用Ezoic,广告收入增加50-250%。 Google认证发布合作伙伴。
使用Ezoic,广告收入增加50-250%。 Google认证发布合作伙伴。
 

评论 (0)

发表评论

您的数据-已加密。身份–匿名。互联网速度–优越。
您的数据-已加密。身份–匿名。互联网速度–优越。