apache 2 .htaccess不会重定向www>非www

时间:2019-01-07 08:37:33

标签: .htaccess apache2 no-www

我的网站出现问题,无法让我将我的网站重定向到非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]

0 个答案:

没有答案