.htaccess - .htaccess 重定向以删除 php 并重定向到 https 和非 www
问题描述
我的.htaccess
文件中有以下内容
- 删除 www
- 重定向到 https
- 删除 .php
这是我的 .htaccess:
# ----------------------------------------------------------------------
# | Redirect to HTTPS & remove www |
# ----------------------------------------------------------------------
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]
# ----------------------------------------------------------------------
# | Remove .php extension |
# ----------------------------------------------------------------------
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)/?$ /$1.php [L]
当我在 Firefox 中查看该站点时,出现以下错误:
页面未正确重定向。此问题有时可能是由禁用或拒绝接受 cookie 引起的
Chrome 警告重定向过多
URL 已更新为我所期望的(删除了 www 并添加了 https)。没有其他有效的重定向
谁能发现我哪里出错了?
解决方案
在您的 .htaccess 文件中尝试以下代码:
RewritEengine on
Options +FollowSymlinks
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [r=301,nc]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
推荐阅读
- methods - 什么是solidity中的balanceRecived?它将是什么?
- c# - 使用页面结果发送带有 base64 图像的电子邮件
- mysql - R2DBC 返回类型 @Query
- python - FastAPI 重定向到另一个带有数据的 url
- sql - 如何在 SQL 中按第 1 列等于第 2 列排序
- json - 在VueJS中获取json数据
- bash - if/elif 语句仅在分号和 then 之间插入命令时有效
- sql - Oracle sql - 使用输入参数连接
- python - 使用scrapy进行抓取只能获取第一条记录
- python-3.x - 如何在 scipy/numpy 中使用 scipy.sparse.csr_matrix 创建稀疏矩阵