Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
.htaccess htaccess:将所有域(https和http)重定向到新域_.htaccess_Directadmin - Fatal编程技术网

.htaccess htaccess:将所有域(https和http)重定向到新域

.htaccess htaccess:将所有域(https和http)重定向到新域,.htaccess,directadmin,.htaccess,Directadmin,我当前的域名是免费的https 我将新域添加为驻车域别名(在DirectAdmin中) 因此,对于要使用https的新域,我需要为旧域禁用https 现在我想用https将所有旧域转移到新域 我认为解决方案是,除了新域之外,所有域都应该禁用https,然后地址将被传输到新域您可以这样强制https: RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [

我当前的域名是免费的https

我将新域添加为驻车域别名(在DirectAdmin中)

因此,对于要使用https的新域,我需要为旧域禁用https

现在我想用https将所有旧域转移到新域


我认为解决方案是,除了新域之外,所有域都应该禁用https,然后地址将被传输到新域

您可以这样强制https:

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
应该转到根文件夹的.htaccess


来源:

您可以像这样强制https:

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
应该转到根文件夹的.htaccess

来源:

您可以使用:

RewriteEngine on

RewriteCond %{HTTP_HOST} !^(www\.)?newdomain\.com$ [NC]
RewriteRule (.*) https://www.newdomain.com/$1 [L,R=301]
这将把所有驻留的域(指向您的文档根)重定向到您的新域url

上面的
重写条件确保您不会将
newdoman
重定向到自身,否则该规则将导致重定向循环错误。

您可以使用以下方法:

RewriteEngine on

RewriteCond %{HTTP_HOST} !^(www\.)?newdomain\.com$ [NC]
RewriteRule (.*) https://www.newdomain.com/$1 [L,R=301]
这将把所有驻留的域(指向您的文档根)重定向到您的新域url


上面的
RewriteCondition
确保您不会将
newdoman
重定向到自身,否则该规则将导致重定向循环错误。

我不想要强制https。我希望对除新域之外的所有域禁用https。此外,所有域都将被转移到新域。我不希望强制使用https。我希望对除新域之外的所有域禁用https。此外,所有域都将转移到新域。此代码不通过
https://oldDomain.com
转到新域。因为错误出现在浏览器中:您的连接不是私有的。我认为解决方案是,除了新域之外,所有域都应该禁用https,然后地址将被传输到新域。@Mohammad您需要为域安装有效的ssl证书,以便重定向它们。有一些代码用于将https传输到http。我只想更改代码,使其不包含新的domain@mohammad如果您尝试从
https
重定向到
http
的域中不存在ssl证书,则htaccess重定向无法执行任何操作。在这种情况下,您需要购买有效的证书并在域中安装。由于您的域未安装ssl,您从ssl模块中获得了连接非专用的
错误。此代码未通过
https://oldDomain.com
转到新域。因为错误出现在浏览器中:您的连接不是私有的。我认为解决方案是,除了新域之外,所有域都应该禁用https,然后地址将被传输到新域。@Mohammad您需要为域安装有效的ssl证书,以便重定向它们。有一些代码用于将https传输到http。我只想更改代码,使其不包含新的domain@mohammad如果您尝试从
https
重定向到
http
的域中不存在ssl证书,则htaccess重定向无法执行任何操作。在这种情况下,您需要购买有效的证书并在域中安装。由于您的域未安装ssl,您从ssl模块中获得了连接非专用的
错误。