从 https 中删除 www [英] remove www from https
本文介绍了从 https 中删除 www的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图找到一个 htaccess 重写来删除 www.来自 https:仅限页面.我找到的每篇文章都会删除所有页面的 www.
I'm trying to find a htaccess rewrite to remove www. from https: pages only. Every article I've found removes www for all pages.
我在 .htaccess 中需要什么才能做到这一点?
What do I need in .htaccess to do this?
https://www.mydomain.com 应该是 https://mydomain.com
https://mydomain.com 应保持为 https://mydomain.com
http://www.mydomain.com 应保持为 http://www.mydomain.com
http://mydomain.com 应保持为 http://mydomain.com
我已经能够完成以下工作:
I've been able to get the following working:
RewriteCond %{HTTPS}s ^on(s)|
RewriteCond http%1://%{HTTP_HOST}%{REQUEST_URI} ^(https?://)www.(.+) [NC]
RewriteRule ^ %1%2 [L,R,QSA]
但这会重写 https 和 http
But this rewrites both https and http
这是我当前的 .htaccess
Here is my current .htaccess
SetEnv DEFAULT_PHP_VERSION 5
RewriteEngine on
RewriteOptions MaxRedirects=1
# You may need to uncomment the following line on some hosting environments,
# for example on unitedhosting.co.uk
# RewriteBase /
# The following line has been added in order to exclude the webim
# directory from the LemonStand URL processing.
RewriteCond %{REQUEST_URI} !^/webim
#
# Do not allow executing any PHP scripts
#
RewriteRule ^(.*).php$ index.php [L]
#
# The following section automatically adds a trailing slash to all URLs
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(.[a-zA-Z0-9]{1,5}|/)$
RewriteCond %{HTTP:X-REQUESTED-WITH} !^(XMLHttpRequest)$
RewriteCond %{REQUEST_METHOD} !^HEAD$
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteRule (.*)([^/])$ %{REQUEST_URI}/ [R=301,L]
# The following line has been added in order to exclude the webim
# directory from the LemonStand URL processing.
RewriteCond %{REQUEST_URI} !^/webim
#
# Product files downloading URL
#
RewriteRule (^download_product_file/.*) index.php?q=/$1 [L,QSA]
# The following line has been added in order to exclude the webim
# directory from the LemonStand URL processing.
RewriteCond %{REQUEST_URI} !^/webim
#
# Administration Area file downloading URL
#
RewriteRule ls_backend/files/get/(.*) index.php?q=/backend_file_get/$1 [L]
# The following line has been added in order to exclude the webim
# directory from the LemonStand URL processing.
RewriteCond %{REQUEST_URI} !^/webim
#
# All other requests
#
RewriteCond %{REQUEST_URI} !(.(ico|js|jpg|gif|css|png|swf|flv|txt|xml|xls|pdf|eot|woff|ttf|svg|mp4)$)
RewriteCond %{REQUEST_URI} !(phproad/thirdpart/.*)
RewriteRule ^(.*)$ index.php?q=/$1 [L,QSA]
ErrorDocument 404 "File not found"
#
# PHP configuration
#
<IfModule mod_php5.c>
php_flag session.auto_start off
php_value session.cookie_lifetime 31536000
php_flag session.use_cookies on
php_flag session.use_only_cookies on
php_value session.name FWCSESSID
php_flag short_open_tag on
php_flag asp_tags on
php_flag magic_quotes_gpc off
php_value date.timezone GMT
php_value post_max_size 100M
php_value upload_max_filesize 100M
php_value memory_limit 264M
</IfModule>
推荐答案
RewriteEngine On
# Check that you're on port 443 and the hostname starts with www
RewriteCond %{SERVER_PORT} ^443
RewriteCond %{HTTP_HOST} ^www.
# Redirect to domain without the www
RewriteRule (.*) https://example.com$1 [L,R,QSA]
这篇关于从 https 中删除 www的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文