我的网站出现问题,无法让我将我的网站重定向到非www。例如www.sqlinject.me需要重定向到sqlinject.me。
注意:我没有包含http(s),因为我当前拥有的代码已成功地将http(s):www.sqlinject.me重定向到http(s)://sqlinject.me。
我之所以需要它而不使用http(s),是因为我的网站已在google上建立了索引,但是,如果您单击我的网站,它将带您到不进行重定向的www.sqlinject.me。
以下是一些信息:
我托管于:namecheap 我在运行apache2的树莓派上运行我的网站
这是我的www重定向的.htaccess代码:
# 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]