apache 2 .htaccess не будет перенаправлять www> non-www - PullRequest
0 голосов
/ 07 января 2019

У меня проблема с моим сайтом, когда я не могу получить apache, чтобы перенаправить мой сайт не на www. Например, www.sqlinject.me необходимо перенаправить на sqlinject.me.

Примечание: я не включил http (s), потому что код, который у меня есть, успешно перенаправляет http (s): www.sqlinject.me на http (s): //sqlinject.me.

Причина, по которой мне нужно перенаправить без http (s), заключается в том, что мой сайт проиндексирован в Google, однако, если вы нажмете на мой сайт, вы попадете на www.sqlinject.me, который не перенаправляет.

Вот некоторая информация:

Я хостинг с: namecheap Я запускаю свой сайт на Raspberry Pi под управлением Apache2

Вот мой код .htaccess для перенаправления www:

# Redirect www to non-www
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]

Вот весь код .htacces (на всякий случай):

# Set home page to inject.php
DirectoryIndex inject.php

# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

# Remove .php from file extention
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

# Force redirect to https (just incase namecheap fails)
RewriteCond %{HTTPS}  !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

# Return 404 if original request is .php
RewriteCond %{THE_REQUEST} "^[^ ]* .*?\.php[? ].*$"
RewriteRule .* - [L,R=404]

# Set error pages
ErrorDocument 404 /includes/error-pages/404
ErrorDocument 403 /includes/error-pages/403
ErrorDocument 500 /includes/error-pages/500

# Redirect www to non-www
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
...