Kompx.com or Compmiscellanea.com

HTTP to HTTPS redirect in .htaccess

Web servers : Apache + nginx

Redirecting from HTTP to HTTPS, when the web server serving the pages is behind a load balancer or reverse proxy. Server configuration:

  • Apache + nginx;
  • SSL is enabled;
  • SSL-certificate is purchased, approved and installed.

That is, everything is up and running. So it is just the HTTP to HTTPS redirection that is left to get ready and start up. Directives for .htaccess file:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\. [NC]

RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTP:X_FORWARDED_PROTO} !https [NC]

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

HTTP to HTTPS redirect

-- Enable runtime rewriting engine:

RewriteEngine On

-- If domain name has no www:

RewriteCond %{HTTP_HOST} !^www\. [NC]

-- Then replace it with domain with www:

RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

-- If HTTPS is not present:

RewriteCond %{HTTP:X_FORWARDED_PROTO} !https [NC]

-- Then replace domain without HTTPS with domain with HTTPS:

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Notes

1. X_FORWARDED_PROTO may instead be called X-Forwarded-Proto or even else. The point is to obtain the information from a load balancer or reverse proxy on the original request it gets. Load balancers or reverse proxies may provide the web server with this info and a header named X_FORWARDED_PROTO or X-Forwarded-Proto or else may be sent, holding the protocol string. It is most often so, but not always. So it should probably be determined by practice how to get the protocol string in a particular case.

2. The other way is just to set the environment variable (if it is suitable for the given web server):

SetEnvIf X_FORWARDED_PROTO https HTTPS=on

Then directives for .htaccess file are to be like this:

RewriteEngine On

SetEnvIf X_FORWARDED_PROTO https HTTPS=on

RewriteCond %{HTTP_HOST} !^www\. [NC]

RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTP:HTTPS} !on [NV]

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

3. Apache Module mod_rewrite docs: http://httpd.apache.org/docs/current/mod/mod_rewrite.html


Aliosque subditos et thema

 

ELinks. Configuration

 

Jump to: ELinks - Text-based or console web browser. Description: features, screenshots, download links. ELinks. Use - How to use ELinks. What ELinks can and what can not, i.e. what may be configured depends on several things. The most common are capability of the console it is run on and support of what was chosen during the compilation process of an ELinks browser source code. Under certain operating systems (Windows for instance) it is easier and more reliable to omit some possible features. The configuration of ELinks 0.12pre2 from Package Database of Zenwalk Linux (originally based on Slackware, still keeping compatibility with its binary packages) is discussed here. It is quite representative in its qualities among other Linux ELinks browser versions for desktop PC computers. User interface of Windows ELinks and that of Linux / some other *nix systems ELinks of comparable versions are the same. If an ELinks package has been compiled without some feature or the console is not capable of something then it just will not be possible to choose the feature in the configuration process; or possible, but it will not work. For example, if this ELinks is compiled without support of 256 colors or your console is not capable of displaying them, then it just will only be possible to choose 16 or "No colors (mono)" in the menu. And the ELinks will work as much well in the rest. The whole configuration of ELinks may be done through the menu of the browser - there is no need to edit config files. Even if some fine-tuning may require editing of elinks.conf or even source code files - but that is not the issue for average use. The menu of ELinks is hidden when it is displaying a web page: To access the menu, press Esc on the keyboard: Configuration options are in "Setup" group: 1 ) "Language" - set a language of ELinks user interface. It is possible to set it to the system language or to several others. System and terminal emulator / console have to be prepared for this change - corresponding localization / internationalization files installed and configured. Choose a language (English in this example): To keep it, press Esc again, then Setup, then Save options, then confirm by clicking OK.

Non-breaking space (   ) in :before and :after content

 

Non-breaking space ( &nbsp; ) in :before and :after pseudo-elements. Hex code ( \00a0 ) is used in the content property instead of the named character entity ( &nbsp; ). Example: ABC HTML / XHTML. Code: <div>ABC</div> CSS. Code: div:before {content:"\00a0";} div:after {content:"\00a0";} /* Extra CSS to make non-breaking spaces more obvious here: */ div:before {height: 1em; width: 1em; display: inline-block; background: #f00;} div:after {height: 1em; width: 1em; display: inline-block; background: #00f;} [ 1 ] As well as Netscape 6.01+, Mozilla 0.6+. [ 2 ] As well as Netscape 6.01+, Mozilla 0.6+.