首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.HTACCESS重定向问题: URL段塞之前的index.php

.HTACCESS重定向问题: URL段塞之前的index.php
EN

Stack Overflow用户
提问于 2020-01-13 18:46:32
回答 1查看 236关注 0票数 0

我正在尝试实现一个简单的http到https重定向和www到非www。问题是.htaccess将"index.php“置于url段塞之前,从而导致服务器错误。下面是发生的情况:

错误行为:

代码语言:javascript
复制
http://example.com/url-slug -> https://example.com/index.php/url-slug

期望的行为:

代码语言:javascript
复制
http://example.com/url-slug -> https://example.com/url-slug

注意:我希望所有查询都重定向到主目录中的index.php页面,除非请求的文件存在于服务器上。我希望在不更改浏览器中的url的情况下实现这一点,这会导致服务器崩溃。

(目标:www -> non& http -> https)

当前.HTACCESS设置:

代码语言:javascript
复制
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

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

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2020-01-14 04:54:53

您的http to https 301重定向应该在其他内部重写规则之前位于顶部。

代码语言:javascript
复制
RewriteEngine On
#http to https
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
#www to non-www
RewriteCond %{HTTP_HOST} ^www\.(.+)$
RewriteRule (.*) https://%1%{REQUEST_URI} [NE,L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

在测试此更改之前,请确保清除浏览器缓存。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59722437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档