php

index.php式伪静态_伪静态完美去掉index.php的方法

2023-03-23

index.php式伪静态_伪静态完美去掉index.php的方法

环境说明: linux + Apache 2.0


网站根目录下,index.php 所在目录内寻找.htaccess文件,如有修改以下代码,如果没有可新建.htaccess。


同时添加强行跳转HTTPS


RewriteEngine On

RewriteBase /

RewriteCond %{SERVER_PORT} !^443$

RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php [L]


内容来着谷歌搜索,博主暂时没有想起,再次遇到添加备注。

逛博客新发现,收集记录下次备用。

伪静态规则。主要作用:

1.去掉index.php

2.强制301跳转到https

3.将带www域名的301跳转至不带www域名

4.访问域名/index.php后301跳转到主域名。

RewriteEngine On


#伪静态

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /index.php/$1 [L,E=PATH_INFO:$1]


#强制跳转https

RewriteCond %{HTTPS} !=on

RewriteRule ^(.*) https://sjzsy.cn/$1 [L,R=301]

#带www的跳转至不带www域名

RewriteCond %{HTTP_HOST} !^sjzsy.cn$ [NC]

RewriteRule ^(.*)$ http://sjzsy.cn/$1 [L,R=301]


#index.php跳转

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/

RewriteRule ^index\.php$ https://sjzsy.cn/ [R=301,L]