创建一个.htaccess文件,该文件将在单个重定向中强制使用https和www。
它还允许用户放置 example.com/subfolder 显示时将重定向到文件夹的index.html或index.php文件 https://www.example.com/subfolder(不带斜杠)
这是我目前拥有的:
RewriteEngine on
## Force https and www in one redirect
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=302]
## Remove trailing slash if not directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^(.*)/$ https://www.example.com/$1 [R=302,L]
#Remove .html
Options -MultiViews
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]
# Make index.html or index.php defaults
DirectoryIndex index.html index.php index
除了用户在example.com/subfolder中键入内容时,所有内容都可以正常工作,返回301页面。
可以正确重定向的方式:
www.example.com/subfolder/
www.example.com/subfolder/index.html
https://www.example.com/subfolder/index.html
不起作用:
example.com/subfolder/index.html
https://example.com/subfolder
https://example.com/subfolder/index
我希望所有这些网址都能正常工作