.htaccess 使用SSL和文件扩展名重写访问非www

.htaccess 使用SSL和文件扩展名重写访问非www,.htaccess,ssl,.htaccess,Ssl,我有一个网站重写了.php文件扩展名,以便: 变成 我还将www.domain.com重定向到非www.domain.com 现在我将把它移到SSL上,所以我希望保留这两条规则,并将其全部重定向到https 以下是我目前拥有的: # Redirect to non www version RewriteEngine On RewriteCond %{HTTP_HOST} ^www.example.com RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpa

我有一个网站重写了.php文件扩展名,以便: 变成

我还将www.domain.com重定向到非www.domain.com

现在我将把它移到SSL上,所以我希望保留这两条规则,并将其全部重定向到https

以下是我目前拥有的:

# Redirect to non www version
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule (.*) https://example.com/ [R=301,L]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^index.php / [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteRule ^(.*)$ $1.php
ErrorDocument 404 /404.php
在没有太多重定向的情况下如何执行此操作?提前谢谢

像这样试试:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^ https://%1%{REQUEST_URI} [R=302,L,NE] 

RewriteRule ^index.php / [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteRule ^(.*)$ $1.php
ErrorDocument 404 /404.php

什么URL会导致太多重定向?谢谢@wp78de,我还没有尝试过,但我想知道为什么你在第一部分使用302重定向?@Sara44 301应该也可以。非常感谢,这很有效。为接受答案的时间道歉。