伪静态语法
最佳回答
rewrite只能放在server{},location{},if{}中,并且只能对域名后边的除去传递的参数外的字符串起作用。
执行顺序:(location =) > (location 完整路径) > (location ^~ 路径) > (location ~,~* 正则顺序) > (location 部分起始路径) > (/)
语法:rewrite regex replacement [flag];
last : 相当于Apache的[L]标记,表示完成rewrite
break : 停止执行当前虚拟主机的后续rewrite指令集
redirect : 返回302临时重定向,地址栏会显示跳转后的地址
permanent : 返回301永久重定向,地址栏会显示跳转后的地址
语法为if(condition){...},对给定的条件condition进行判断。如果为真,大括号内的rewrite指令将被执行,if条件(conditon)可以是如下任何内容:
当表达式只是一个变量时,如果值为空或任何以0开头的字符串都会当做false
直接比较变量和内容时,使用=或!=
~正则表达式匹配,~*不区分大小写的匹配,!~区分大小写的不匹配
-f和!-f用来判断是否存在文件
-d和!-d用来判断是否存在目录
-e和!-e用来判断是否存在文件或目录
-x和!-x用来判断文件是否可执行
例如,图片的防盗链可以这样写:
location ~* .(gif|jpg|png|swf|flv)$ {
valid_referers none blocked www.yourhost.com;
if ($invalid_referer)
{
return 404;
} //防盗链
}
下面是可以用作if判断的全局变量
$args : #这个变量等于请求行中的参数,同$query_string
$content_length : 请求头中的Content-length字段。
$content_type : 请求头中的Content-Type字段。
$document_root : 当前请求在root指令中指定的值。
$host : 请求主机头字段,否则为服务器名称。
$http_user_agent : 客户端agent信息
$http_cookie : 客户端cookie信息
$limit_rate : 这个变量可以限制连接速率。
$request_method : 客户端请求的动作,通常为GET或POST。
$remote_addr : 客户端的IP地址。
$remote_port : 客户端的端口。
$remote_user : 已经经过Auth Basic Module验证的用户名。
$request_filename : 当前请求的文件路径,由root或alias指令与URI请求生成。
$scheme : HTTP方法(如http,https)。
$server_protocol : 请求使用的协议,通常是HTTP/1.0或HTTP/1.1。
$server_addr : 服务器地址,在完成一次系统调用后可以确定这个值。
$server_name : 服务器名称。
$server_port : 请求到达服务器的端口号。
$request_uri : 包含请求参数的原始URI,不包含主机名,如:”/foo/bar.php?arg=baz”。
$uri : 不带请求参数的当前URI,$uri不包含主机名,如”/foo/bar.html”。
$document_uri : 与$uri相同。
下面是QeePHP的伪静态示例:
if (!-d $request_filename) {
rewrite ^/([a-z-A-Z]+)/([a-z-A-Z]+)/?(.*)$ /index.php?namespace=user&controller=$1&action=$2&$3 last;
rewrite ^/([a-z-A-Z]+)/?$ /index.php?namespace=user&controller=$1 last;
break;
}
最新回答共有5条回答
-
匿名用户
回复谢谢邀请,
1. 先涨点知识——WiKiHow
知识不够APP来凑
这是一款超棒的搜索指南,也是生活的百科全书。你可以这款APP里搜索到关于生活、穿搭、工作等各种小技巧,涨知识必备神器,就连孵小鸡都能一步步教你实现!
不仅可以学到技巧,你也可以编辑自己的答案来帮助别人,并且大部分解答都配有漫画,让你能有趣的涨知识!
2. 提高工作效率——录音转文字助手
速度不够工具来凑
每天准时下班很难?打字速度很慢?那你没用对方法吧,这款工具利用语音转文字的办法帮你快速记录,会议记录简单,演讲采访简单,讲座笔记更简单。
还能进行粤语转文字哦,就连录音笔记录的录音文件,都能将其转为文字,记录就是这么简单。
-
seo从业者
回复分享9个我不舍得卸载的免费小众软件!让你消遣大把时光时,还能偷偷提升技能,省下不少钱!
01 Stellarium——免费看星星一款让你免费看星空的软件,界面超浪漫!
晚上当你开启遥感系统时,你的手机会随着你的视线,不断变换目前你眼前能看到的星空!
真的超美!这个可以定位你的位置哦,你也可以选择时间,我是白天写的,但是把时间调整成了今天的23:00,夜空和星星更配~
可以用这个小软件,和自己的爱人或者家人,偶然抬头看看星空,找找星座,学习下知识,也是一种浪漫!
-
专业建网站
回复大家好,我是超多干货的乐恬,我又来了,这期app满满干货,真是相见恨晚!学习 生活 看剧 阅读 赚零花 变美 自律 提高美感等等的app,这里都有!错过就后悔你去吧!建议收藏!网友直呼:太全啦!
这期还是给大家推荐app,有什么需要和反馈评论区告诉我
&-
专业建网站
回复RewriteBase / 从网站根目录起
RewriteCond 定义规则生效的条件
不能可能是服务器没有开启重写
简单看了下你的代码,是让html指向到php文件,如果可以使用应该是about.html和about.php指向到一个文件上,而不是所有的php都显示成html.
吼吼,看这个傻瓜教程可能解决你的一个问题
http://php100.com/html/shipinjiaocheng/PHP100shipinjiaocheng/2009/0714/3074.html
这个教程是入门级的,一些相对复杂点的应用没有
-