У меня проблема с моим сайтом, когда я не могу получить 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]