麻烦htaccess重定向非www页面

时间:2018-07-23 12:00:34

标签: .htaccess redirect mod-rewrite url-rewriting url-redirection

关于htaccess和重定向的新手,我希望有人可以帮助我。目前,除一个URL以外的所有URL都正确地重定向到了https。

以下脚本已根据要求进行了更新,以删除重复的脚本,问题仍然存在。

以下是示例:

http://example.com重定向到https://www.example.com/

http://www.example.com重定向到https://www.example.com/

http://subdomain.example.com重定向到https://subdomain.example.com

出现问题

http://example.com/somepage仅会重定向到https://www.example.com/

以下是我的htaccess文件中的一个片段。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

RewriteBase /
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^admin$ admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^ - [L]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*\.php)$ $1 [L]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule . index.php [L]

1 个答案:

答案 0 :(得分:0)

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

这是将所有非https://调用重定向到其安全版本的有效方法。使用此方法会将http://example.com/somepage重定向到https://www.example.com/somepage

也许您的301仅被缓存了?清除缓存,然后重试。我建议使用[R = 302]标志,直到您确认重定向有效,然后将.htaccess更新为使用301。

相关问题