htaccess常用代码片
Easul Lv6

隐藏php后缀

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 第1行是开启重写url
# 第2行是设置基准目录
# 第3行如果请求第一行是 GET xxx.php HTTP/1.1
# 第4行那么就跳转到去掉.php的路径,然后立即停止后边的执行。%1是RewriteCond中的正则匹配
# 第5行如果请求的文件不是存在的目录
# 第6行如果请求的文件.php是存在的文件
# 第7行那么就获取路径,加上.php进行访问,忽略大小写,且停止后边的处理
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+).php [NC]
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [NC,L]

路由重定向

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 第1行是开启重写url
# 第2行是设置基准目录
# 第3行如果uri,也就是/asdf/ff/w匹配正则,且不区分大小写
# 第4行那么就直接301跳转到该网址
# 第5行是如果文件存在,就直接访问文件,否则进行下面的RewriteRule.
# 第6行是如果目录存在,就直接访问文件,否则进行下面的RewriteRule.
# 第7行所有的url重定向到handle.php这个文件
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^.*/util/?$ [NC]
RewriteRule ^(.*)$ index.php [r=301,nc]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ handle.php [L,E=PATH_INFO:$1]

参考
在线htaccess生成

 评论