nginx伪静态

合集下载

phpstudy集成环境下nginx模式wordpress伪静态设置

phpstudy集成环境下nginx模式wordpress伪静态设置

phpstudy集成环境下nginx模式wordpress伪静态设置我使用LNMP一键安装软件的wordpress的nginx伪静态规则(如下所示)复制到vhosts-ini之后保存,重启phpstudy服务location / { try_files $uri $uri/ /index.php?$args; } # Add trailing slash to */wp-admin requests. rewrite /wp-admin$ $scheme://$host$uri/ permanent;结果phpstudy集成环境下nginx服务一直无法启动。

非常郁闷,百度了半天各种教程,结果都是说apache下的规则,也是无奈,不过功夫不负有心人,看到一个文件简单说了一些规则,尝试了一下,竟然成功了。

下面说下phpstudy集成环境下Nginx模式 wordpress伪静态规则:if (-f $request_filename/index.html){rewrite (.*) $1/index.html break;}if (-f $request_filename/index.php){rewrite (.*) $1/index.php;}if (!-f $request_filename){rewrite (.*) /index.php;}如果你和我一样使用的是phpstudy默认站点,没有自定义站点,那么直接将上面的代码复制到到vhosts-ini之后保存,重启phpstudy 服务即可。

如果你已经自定义了站点,那么将上的代码复制到vhosts-ini配置文件中的server { listen 80; 省略代码…… 在最后一个大括号之前粘贴上面的规则即可}加上之后,保存,重新Nignx就可以了。

再打开网站试一下,是不是就正常了呢?。

thinkphp 伪静态规则

thinkphp 伪静态规则

thinkphp 伪静态规则摘要:1.什么是ThinkPHP伪静态规则2.ThinkPHP伪静态规则的作用3.如何配置ThinkPHP伪静态规则4.配置伪静态规则的注意事项5.总结正文:ThinkPHP是一款非常受欢迎的PHP开发框架,它提供了很多实用的功能,其中就包括伪静态规则。

伪静态规则可以帮助开发者更方便地管理和控制网站的URL结构,提高用户体验。

本文将详细介绍什么是ThinkPHP伪静态规则,以及如何配置它。

1.什么是ThinkPHP伪静态规则ThinkPHP伪静态规则是指在URL中使用伪静态规则,将动态的URL转换为静态的、易读的URL。

例如,将一个新闻列表页面的URL从`/index.php?c=news&m=list`转换为`/news/list`。

这样做可以提高用户体验,因为静态URL更容易被搜索引擎收录,也更容易被用户记住。

2.ThinkPHP伪静态规则的作用ThinkPHP伪静态规则主要有以下几个作用:- 提高用户体验:静态URL更容易被用户理解和记住,可以提高用户的回访率。

- 利于搜索引擎优化:静态URL更容易被搜索引擎收录,有利于提高网站的排名。

- 简化URL结构:使用伪静态规则可以让URL结构更加简洁明了,便于管理和维护。

3.如何配置ThinkPHP伪静态规则要配置ThinkPHP伪静态规则,需要进行以下几个步骤:- 安装ThinkPHP框架:首先需要安装ThinkPHP框架,可以在官方网站下载最新版本。

- 创建伪静态规则文件:在框架的`application`目录下,创建一个名为`route.php`的文件,用于配置伪静态规则。

- 配置伪静态规则:打开`route.php`文件,添加以下代码:```php<?php// 伪静态规则配置// 设置默认的伪静态后缀define("APP_URL_HTML", "html");// 设置伪静态规则function rules($rules) {// 这里可以自定义伪静态规则,例如:// $rules["index"] = "index"; // 将index.php伪静态为index// $rules["news/:id"] = "show"; // 将news/:id.php伪静态为show// ...return $rules;}```- 配置服务器:将服务器配置为支持伪静态规则。

nginx rewrite 参数和例子+常用Rewrite伪静态法则

nginx rewrite 参数和例子+常用Rewrite伪静态法则

正则表达式匹配,其中:1. * ~ 为区分大小写匹配2. * ~* 为不区分大小写匹配3. * !~和!~*分别为区分大小写不匹配及不区分大小写不匹配文件及目录匹配,其中:1. * -f和!-f用来判断是否存在文件2. * -d和!-d用来判断是否存在目录3. * -e和!-e用来判断是否存在文件或目录4. * -x和!-x用来判断文件是否可执行flag标记有:1. * last 相当于Apache里的[L]标记,表示完成rewrite2. * break 终止匹配, 不再匹配后面的规则3. * redirect 返回302临时重定向地址栏会显示跳转后的地址4. * permanent 返回301永久重定向地址栏会显示跳转后的地址一些可用的全局变量有,可以用做条件判断(待补全)1. $args2. $content_length3. $content_type4. $document_root5. $document_uri6. $host7. $http_user_agent8. $http_cookie9. $limit_rate10. $request_body_file11. $request_method12. $remote_addr13. $remote_port14. $remote_user15. $request_filename16. $request_uri17. $query_string18. $scheme19. $server_protocol20. $server_addr21. $server_name22. $server_port23. $uri结合QeePHP的例子1. if (!-d $request_filename) {2. rewrite^/([a-z-A-Z]+)/([a-z-A-Z]+)/?(.*)$ /index.php?namespace=user&amp;controller=$1 &amp;action=$2&amp;$3 last;3. rewrite ^/([a-z-A-Z]+)/?$ /index.php?namespace=user&amp;controller=$1 last;4. break;多目录转成参数/sort/2 => /index.php?act=sort&name=abc&id=21. if ($host ~* (.*)/.domain/.com) {2. set $sub_name $1;3. rewrite ^/sort//(/d+)//?$ /index.php?act=sort&cid=$sub_name&id=$1 last;4. }目录对换/123456/xxxx -> /xxxx?id=1234561. rewrite ^/(/d+)/(.+)/ /$2?id=$1 last;例如下面设定nginx在用户使用ie的使用重定向到/nginx-ie目录下:1. if ($http_user_agent ~ MSIE) {2. rewrite ^(.*)$ /nginx-ie/$1 break;3. }目录自动加“/”1. if (-d $request_filename){2. rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;3. }禁止htaccess1. location ~//.ht {2. deny all;3. }禁止多个目录1. location ~ ^/(cron|templates)/ {2. deny all;3. break;4. }禁止以/data开头的文件可以禁止/data/下多级目录下.log.txt等请求;1. location ~ ^/data {2. deny all;3. }禁止单个目录不能禁止.log.txt能请求1. location /searchword/cron/ {2. deny all;3. }禁止单个文件1. location ~ /data/sql/data.sql {2. deny all;3. }给favicon.ico和robots.txt设置过期时间;这里为favicon.ico为99天,robots.txt为7天并不记录404错误日志1. location ~(favicon.ico) {2. log_not_found off;3. expires 99d;4. break;5. }6.7. location ~(robots.txt) {8. log_not_found off;9. expires 7d;10. break;11. }设定某个文件的过期时间;这里为600秒,并不记录访问日志1. location ^~ /html/scripts/loadhead_1.js {2. access_log off;3. root /opt/lampp/htdocs/web;4. expires 600;5. break;6. }文件反盗链并设置过期时间这里的return 412 为自定义的http状态码,默认为403,方便找出正确的盗链的请求“rewrite ^/ /leech.gif;”显示一张防盗链图片“access_log off;”不记录访问日志,减轻压力“expires 3d”所有文件3天的浏览器缓存1. location ~* ^.+/.(jpg|jpeg|gif|png|swf|rar|zip|css|js)$ {2. valid_referers none blocked * * localhost208.97.167.194;3. if ($invalid_referer) {4. rewrite ^/ /leech.gif;5. return 412;6. break;7. }8. access_log off;9. root /opt/lampp/htdocs/web;10. expires 3d;11. break;12. }只充许固定ip访问网站,并加上密码1. root /opt/htdocs/www;2. allow 208.97.167.194;3. allow 222.33.1.2;4. allow 231.152.49.4;5. deny all;6. auth_basic "C1G_ADMIN";7. auth_basic_user_file htpasswd;将多级目录下的文件转成一个文件,增强seo效果/job-123-456-789.html 指向/job/123/456/789.html1. rewrite ^/job-([0-9]+)-([0-9]+)-([0-9]+)/.html$ /job/$1/$2/jobshow_$3.html last;将根目录下某个文件夹指向2级目录如/shanghaijob/ 指向/area/shanghai/如果你将last改成permanent,那么浏览器地址栏显是/location/shanghai/1. rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;上面例子有个问题是访问/shanghai 时将不会匹配1. rewrite ^/([0-9a-z]+)job$ /area/$1/ last;2. rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;这样/shanghai 也可以访问了,但页面中的相对链接无法使用,如./list_1.html真实地址是/area/shanghia/list_1.html会变成/list_1.html,导至无法访问。

Nginx配置伪静态

Nginx配置伪静态

Nginx配置伪静态⽬录⼀.简介try_file⽤于伪静态。

正常的静态⽂件是⼀个xx.html⽂件,他是真实存在于服务器某个⽂件夹中的。

动态⽹页是从数据库⾥查询,返回给浏览器的,实际上并没有这个⽂件,另外路径也很长。

伪静态优点:缩短URL路径,更美观URL路径短,容易被SEO收录,搜索排名靠前隐藏了真实的访问路径,更安全伪静态缺点:与原⽣的url⽐较在性能上,不如原⽣的url,简单的说伪静态就是在服务器上⼜进⾏了⼀层url解析,消耗服务器资源。

当然了这点消耗与优点相⽐,我们还是可以接受的。

下⾯是博客园中的⼀篇博客,地址是xx.html,让⼈看起来是⼀个html⽂件这个是微信的⼀个⽂章的地址,后⾯的参数是⽂章在数据库中的位置,还有⼀些其它信息⼆.配置server {listen 80;server_name ;index index.html index.php;root /data/html;location / {try_files $uri $uri/ /index.php?$query_string;}location ~ \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;}}try_files $uri $uri/ /index.php?$query_string如果没找到3434.html,就匹配$uri/,nginx会去/data/html找有没有这个⽬录。

⽽具体的 URI 及参数是在 REQUEST_URI 中传递给 FastCGI 和 PHP 程序的,因此不受 URI 变化的影响。

三.整体流程当点击后,这篇⽂章所在的服务器,会try_files $uri $uri/ /index.php?$query_string;,⾸先匹配是否是xx.html,明显不是,但也不是⽂件夹,那就交给fastcgi,转⽽交给php-fpn去操作。

nginx 伪静态规则

nginx 伪静态规则

Nginx伪静态规则
Nginx是一个广泛使用的Web服务器和反向代理服务器,可以通过使用伪静态规则来处理URL的重写,以便在处理时隐藏URL中的实际文件路径和查询参数。

下面是一些常见的Nginx伪静态规则示例:
1.将所有请求重写到一个统一的入口文件(如index.php):
location / {
try_files $uri $uri/ /index.php?$query_string;
}
2.将带有扩展名的文件请求重写为对应的无扩展名文件:
location / {
if (!-e $request_filename) {
rewrite ^/(.*)\.(html|php|css|js)$ /$1 last;
}
}
3.隐藏URL中的文件路径:
location / {
try_files $uri $uri/ /index.php?$query_string;
rewrite ^/category/(.*)$ /index.php?category=$1 last;
rewrite ^/product/(.*)$ /index.php?product=$1 last;
}
4.禁止直接访问特定文件扩展名的文件:
location ~ \.(sql|conf)$ {
deny all;
}
请记住,在使用伪静态规则之前,你需要确保Nginx已正确配置,并在配置文件中启用了相应的模块(如rewrite模块)。

此外,根据你的具体需求,你可能需要自定义和调整这些规则以满足你的应用程序的要求。

伪静态 rewrite规则

伪静态 rewrite规则

伪静态rewrite规则摘要:1.伪静态概念介绍2.伪静态rewrite 规则的作用3.伪静态rewrite 规则的编写方法4.伪静态rewrite 规则的实际应用5.伪静态rewrite 规则的优点与局限性正文:1.伪静态概念介绍伪静态(Pseudo Static)是一种在动态网页上实现静态页面效果的技术。

它允许在动态网页上使用静态页面的URL,从而提高网站的性能和用户体验。

伪静态技术通常用于PHP、Python 等编程语言,通过服务器端的代码实现动态内容与静态页面的结合。

2.伪静态rewrite 规则的作用伪静态rewrite 规则是实现伪静态技术的核心部分,它可以将动态网页的URL 重写为静态页面的格式。

这样,用户在访问网站时,浏览器会直接请求静态页面,而不是经过服务器的动态渲染。

这种技术可以有效地提高网站的访问速度,减轻服务器负担,同时方便搜索引擎的收录。

3.伪静态rewrite 规则的编写方法伪静态rewrite 规则通常通过服务器端的代码实现,以PHP 为例,可以使用PHP 的内置函数「rewrite」来实现。

以下是一个简单的伪静态rewrite规则示例:```php<?php// 判断是否为伪静态请求if (isset($_SERVER["HTTP_X_Rewrite_Url"])) {// 提取URL 中的参数$url_params = parse_str($_SERVER["HTTP_X_Rewrite_Url"], "/");// 根据参数构建动态SQL$sql = "SELECT * FROM content WHERE id=".$url_params["id"];// 执行SQL 获取动态内容$content = mysqli_query($sql);// 将动态内容输出到页面while ($row = mysqli_fetch_array($content)) {echo "【".$row["title"]."】".$row["content"]."<br>";}} else {// 输出静态页面内容echo "欢迎来到伪静态示例网站!";}>```4.伪静态rewrite 规则的实际应用在实际应用中,伪静态rewrite 规则可以根据网站的需求和结构进行灵活调整。

伪静态 rewrite规则 -回复

伪静态 rewrite规则 -回复

伪静态rewrite规则-回复什么是伪静态?伪静态(Pseudo-Static)是一种技术,用于在URL中隐藏动态生成的内容,使其看起来像是静态页面。

这种技术可以提高网站的性能和SEO(搜索引擎优化),同时保留动态生成内容的优点。

伪静态的原理在传统的动态网站中,网页内容是根据用户请求的参数动态生成的。

每次访问都会执行一次数据库查询或其他动态操作,这样会增加服务器的负载,并且页面响应时间较长。

而伪静态则将动态生成的页面内容缓存起来,当下次相同的请求到达时,直接返回缓存的静态页面,避免了重复的动态生成过程。

伪静态的优势1. 提高网站性能:伪静态技术可以显著减少数据库查询和动态操作的次数,从而加快网页加载速度,提高用户体验。

2. 有利于SEO:搜索引擎更喜欢静态页面,因为它们更易于索引和排名。

使用伪静态技术可以使网站的URL更有意义,包含关键词,有助于提高搜索引擎的排名。

3. 方便改版和维护:将动态生成的内容存储为静态页面,可以方便地进行页面的改版和维护,而不用担心影响到网站的正常运行和数据的一致性。

伪静态的实现方法实现伪静态有多种方法,其中最常见的是使用Apache服务器的rewrite 规则。

下面是一种基本的伪静态rewrite规则的示例:RewriteEngine On # 打开rewrite引擎RewriteCond {REQUEST_FILENAME} !-f # 如果请求的文件不存在RewriteCond {REQUEST_FILENAME} !-d # 如果请求的目录不存在RewriteRule ^(.*) index.php?url=1 [QSA,L] # 将所有的请求重定向到index.php,并将请求的URL作为参数传递上述规则的含义是,如果请求的文件或目录在服务器上不存在,就将所有的请求重定向到index.php页面,并将请求的URL作为参数传递。

这样,index.php可以根据传递的参数动态生成相应的页面内容,并返回给用户。

nginx伪静态规则

nginx伪静态规则

nginx伪静态规则Nginx伪静态规则介绍:1. 什么是Nginx伪静态规则Nginx伪静态规则是网站中静态页面和动态页面之间的一个折衷方式,它可以使动态页面具有静态页面的正常浏览和SEO等一系列优点,同时也保持动态页面的特性,可以更好的支持动态页面的多实例管理等需求。

2. Nginx伪静态规则的优势(1)更快的访问速度:静态页的访问速度比动态页快得多,使用伪静态规则可以使得网站访问速度更快;(2)SEO优化:静态页支持搜索引擎更好的抓取,利于网站排名;(3)节省系统资源:如果正确使用伪静态规则,服务器可以减少大量的系统资源,提升服务器性能;(4)支持多实例:伪静态规则也可以支持多实例,使网站管理及功能更加完善。

3. Nginx伪静态规则的常见应用(1)在HTML页面中应用:在设计HTML页面的时候,可以使用Nginx伪静态规则来取代常规的URL地址,使得网站访问更快更容易。

(2)在WordPress中应用:在WordPress中,可以使用Nginx伪静态规则来取代原来的系统路径,使系统架构更加优美,也方便了SEO操作。

(3)在PHP程序中应用:对于使用PHP开发的网站,可以使用Nginx 伪静态规则来精简和优化网站URL地址,使用更加友好。

(4)在Apache+Scp页面中应用:Apache和Scp是一种动态的页面技术,使用Nginx伪静态规则可以让页面更快被搜索引擎收录,形成优质的网站系统,同时提高网站访问效率。

4. Nginx伪静态规则的使用要求(1)熟练掌握Nginx伪静态规则的基本原理;(2)熟悉Nginx伪静态规则使用的语法;(3)了解网站架构,熟悉网站工作流程;(4)了解搜索引擎SEO基本原理,熟悉搜索引擎优化技术;(5)充分理解动态页面特性,了解多实例管理的概念。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设为首页
收藏本站
快捷导航
首 页论 坛下 载手 册演 示客 服主机推荐我来出份力分站演示
FineCMS 最新研发动态
通过这个窗口,关注跟踪我们的研发进展我来给官方反馈BUG
FineCMS 正式版隆重发布
快速建立网站 帮助网站实现一站式服务 下载 — 安装 — 手册下载 — 帮助中心
模板函数变量 自定义URL 地址详细教程
模板标签介绍 FineCMS 万能标签list 功能介绍表单使用介绍 模型创建指南 推荐虚拟主机
热搜:教程
论 坛
使用交流
使用交流
搞了一下午的nginx 僞靜態,現在還沒搞得 ...
返回列表
电梯直达
楼主hlbejy | |设置 |消息 |提醒 |退出积分: 52
|用户组: 注册会员
请输入搜索内容
帖子搜索
查看: 92|回复: 4
搞了一下午的nginx僞靜態,現在還沒搞得 [复制链接]
古易子
发表于 2012-8-4 19:36:52 |只看该作者 |倒序浏览
這東東,看來要慢慢搞才行。

发消息
分享到:
QQ 空间
腾讯微博
腾讯朋友
收藏1
回复
举报
发消息
沙发
回复
举报
6主题0好友
88积分
注册会员
民间偏方 忠忠美女
“人人为我,我为人人”,人人为FineCMS 出一份力!dayrui 167主题2好友3367积分
管理员
发表于 2012-8-4 20:12:16 |只看该作者
参考zend 框架配置方法
技术上问题或者使用方面不懂的地方(HTML 知识就免了),单击此处QQ 联系我~~
“人人为我,我为人人”,人人为FineCMS 出一份力!
发消息
板凳
回复
举报
发消息
地板
古易子
6主题0好友
88积分
注册会员
发表于 2012-8-5 09:41:45 |只看该作者
看不懂代碼,不懂如何搞啊,老大有空說說如何僞靜態吧,在nginx 上。

民间偏方 忠忠美女
“人人为我,我为人人”,人人为FineCMS 出一份力!dayrui 167
主题2好友
3367积分
管理员
发表于 2012-8-5 09:50:54 |只看该作者
01. i f (!-e $r e q u e s t _f i l e n a m e ) {02. r e w r i t e ^/(.*) /i n d e x .p h p ?$1&;03. }
复制代码
你百度搜索一下“zendframework nginx ”,你试试,我没试过
技术上问题或者使用方面不懂的地方(HTML 知识就免了),单击此处QQ 联系我~~
“人人为我,我为人人”,人人为FineCMS 出一份力!
回复
举报
发消息
5#
古易子6
主题0好友
88积分
注册会员
发表于 2012-8-5 10:18:17 |只看该作者
偶試以下可以
01. r e w r i t e "^/s h o w -([0-9]+)\.h t m l $" /i n d e x .p h p ?c =c o n t e n t &a =s h o w &i d =$1 l a s t ;
02. r e w r i t e "^/s h o w -([0-9]+)-([0-9]+)\.h t m l $" /i n d e x .p h p ?c =c o n t e n t &a =s h o w &i d =$1&p a g e =$2 l a s t ;03. r e w r i t e "^/l i s t -([0-9]+)\.h t m l $" /i n d e x .p h p ?c =c o n t e n t &a =l i s t &c a t i d =$1 l a s t ;
04. r e w r i t e "^/l i s t -([0-9]+)-([0-9]+)\.h t m l $" /i n d e x .p h p ?c =c o n t e n t &a =l i s t &c a t d i r =$1&p a g e =$2 l a s t ;
复制代码
修改文件router.ini.php
01. <?p h p
02. i f (!d e f i n e d ('I N _F I N E C M S ')) e x i t ();03. 04. /**
05. * 自定义路由配置信息06. */
07. r e t u r n a r r a y (08.
09. //栏目路由
10. '^l i s t -([0-9]+).h t m l => 'c =c o n t e n t &a =l i s t &c a t d i r =${1}', //目录访问
11. '^l i s t -([0-9]+)\-([0-9]+).h t m l => 'c =c o n t e n t &a =l i s t &c a t d i r =${1}&p a g e =${2}',12. '^([0-9]+)[/]? => 'c =c o n t e n t &a =l i s t &c a t i d =${1}', //I D 访问
13. '^([0-9]+)\-([0-9]+).h t m l => 'c =c o n t e n t &a =l i s t &c a t i d =${1}&p a g e =${2}',14.
15. //内容路由
16. '^s h o w -([0-9]+).h t m l => 'c =c o n t e n t &a =s h o w &i d =${1}',
17. '^s h o w -([0-9]+)\-([0-9]+).h t m l => 'c =c o n t e n t &a =s h o w &i d =${1}&p a g e =${2}',
回复
举报
返回列表
高级模式
举报|手机版|FineCMS 站长统计
GMT+8, 2013-3-21 10:48 , Processed in 0.044189 second(s), 23 queries .
18. '^([a -z A -Z ]+)\-[0-9]{6}\-([0-9]+).h t m l => 'c =c o n t e n t &a =s h o w &i d =${2}',
19. '^([a -z A -Z ]+)\-[0-9]{6}\-([0-9]+)\-([0-9]+).h t m l => 'c =c o n t e n t &a =s h o w &i d =${2}&p a g e =${3}',20. 21. );
复制代码
民间偏方 忠忠美女
“人人为我,我为人人”,人人为FineCMS 出一份力!发表回复 回帖后跳转到最后一页
Powered by Discuz! X2.5
© 2001-2012 Comsenz Inc.。

相关文档
最新文档