从 https 到 http 的子域重定向不起作用
Subdomain redirect from https to http doesn't work
我想在 apache 上重写 link。 Apache 使用 ssl。我的应用程序 return 一些请求为 https link。示例:
https://www-prd.euro1.sdl.electric.com/uk/en/assets-re1/js/adapt-img.js
需要重定向到:
http://www-prd.euro1.sdl.electric.com/uk/en/assets-re1/js/adapt-img.js
只需将 https 替换为 http。
我的最后一个变体:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^https://electric\.com [NC]
RewriteRule ^(.*)$ http://electric.com/ [L,R=301]
但这对我没有帮助。
配置文件:
ProxyPass /server-status !
Listen 443
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
Mutex default
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLProtocol all -SSLv2
SSLHonorCipherOrder On
SSLCipherSuite ALL:!ADH:!EXP:!LOW:!RC2:!3DES:!SEED:!RC4:+HIGH:+MEDIUM
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key
<VirtualHost *:443>
ServerName fe1-app.projects.com
SSLEngine on
AllowEncodedSlashes On
RewriteEngine on
RewriteCond %{HTTP_HOST} ^https://www-prd\.euro1\.sdl\.electric\.com [NC]
RewriteRule ^(.*)$ http://www-prd.euro1.sdl.electric.com/ [L,R=301]
</VirtualHost>
ProxyPassMatch (.*) http://localhost:20180 nocanon
ProxyPreserveHost On
ProxyStatus On
SetEnv proxy-nokeepalive 0
https://
不应该加前缀 HTTP_HOST
,试试这个:
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www-prd\.euro1\.sdl\.electric\.com [NC]
RewriteRule ^(.*)$ http://www-prd.euro1.sdl.electric.com/ [L,R=301]
如果您只需要加载 js(无重定向)试试这个:
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www-prd\.euro1\.sdl\.electric\.com [NC]
RewriteRule ^(.*)$ http://www-prd.euro1.sdl.electric.com/ [L]
我想在 apache 上重写 link。 Apache 使用 ssl。我的应用程序 return 一些请求为 https link。示例:
https://www-prd.euro1.sdl.electric.com/uk/en/assets-re1/js/adapt-img.js
需要重定向到:
http://www-prd.euro1.sdl.electric.com/uk/en/assets-re1/js/adapt-img.js
只需将 https 替换为 http。 我的最后一个变体:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^https://electric\.com [NC]
RewriteRule ^(.*)$ http://electric.com/ [L,R=301]
但这对我没有帮助。
配置文件:
ProxyPass /server-status !
Listen 443
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
Mutex default
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLProtocol all -SSLv2
SSLHonorCipherOrder On
SSLCipherSuite ALL:!ADH:!EXP:!LOW:!RC2:!3DES:!SEED:!RC4:+HIGH:+MEDIUM
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key
<VirtualHost *:443>
ServerName fe1-app.projects.com
SSLEngine on
AllowEncodedSlashes On
RewriteEngine on
RewriteCond %{HTTP_HOST} ^https://www-prd\.euro1\.sdl\.electric\.com [NC]
RewriteRule ^(.*)$ http://www-prd.euro1.sdl.electric.com/ [L,R=301]
</VirtualHost>
ProxyPassMatch (.*) http://localhost:20180 nocanon
ProxyPreserveHost On
ProxyStatus On
SetEnv proxy-nokeepalive 0
https://
不应该加前缀 HTTP_HOST
,试试这个:
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www-prd\.euro1\.sdl\.electric\.com [NC]
RewriteRule ^(.*)$ http://www-prd.euro1.sdl.electric.com/ [L,R=301]
如果您只需要加载 js(无重定向)试试这个:
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www-prd\.euro1\.sdl\.electric\.com [NC]
RewriteRule ^(.*)$ http://www-prd.euro1.sdl.electric.com/ [L]