这个 nginx apache伪静态转nginx 怎样设置?

请问NGINX下的子目录怎样设置伪静态?
内容如下:
root&&/usr/local/nginx/html/
rewrite ^(.*)/archiver/((fid|tid)-[w-]+.html)$ $1/archiver/index.php?$2
rewrite ^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$3 l& && && && && && && && && && && && && && && && && && && && && && && && && &&&
rewrite ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/viewthread.php?tid=$2&e& && && && && && && && && && && && && && && && && && && && && && && && && &&&xtra=page%3D$4&page=$3
rewrite ^(.*)/profile-(username|uid)-(.+).html$ $1/viewpro.php?$2=$3
rewrite ^(.*)/space-(username|uid)-(.+).html$ $1/space.php?$2=$3
rewrite ^(.*)/tag-(.+).html$ $1/tag.php?name=$2
不用任何更改
回复 11# 的帖子
这样是可以,我原来用的photonvps的测试就是这么干的。
不过要限制只加载于某个目录我就不知道怎么弄了。
原帖由 杨过过 于
21:20 发表
内容如下:
root&&/usr/local/nginx/html/
rewrite ^(.*)/archiver/((fid|tid)-[w-]+.html)$ $1/archiver/index.php?$2
rewrite ^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$ ...
你好,请问,我那个论坛的目录是:/home//wwwroot/bbs/
上面的wwwroot是网站根目录,我是不是应该这样写
root /home//wwwroot/
rewrite ^(.*)/archiver/((fid|tid)-[w-]+.html)$ $1/archiver/index.php?$2
rewrite ^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$3
rewrite ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/viewthread.php?tid=$2&extra=page%3D$4&page=$3
rewrite ^(.*)/profile-(username|uid)-(.+).html$ $1/viewpro.php?$2=$3
rewrite ^(.*)/space-(username|uid)-(.+).html$ $1/space.php?$2=$3
rewrite ^(.*)/tag-(.+).html$ $1/tag.php?name=$2
把上面的代码生成一个文件:dz.conf,然后在该玉米在vhost的文件.conf内加上include dz.
是不是这样的呢?
回复 13# 的帖子
root /home//wwwroot/
你的域名是绑定在这个目录?
root是对应的域名绑定的目录,
楼上的楼上的伪静态规则是加载于整个域名全局,不仅仅在/bbs目录里面。
原帖由 cpuer 于
10:24 发表
root /home//wwwroot/
你的域名是绑定在这个目录?
root是对应的域名绑定的目录,
楼上的楼上的伪静态规则是加载于整个域名全局,不仅仅在/bbs目录里面。 ...
我的玉米绑在root /home//wwwroot/
论坛在文件夹/home//wwwroot/bbs这里
还没好么 &&。。我试试D9客服给我弄的好了么。我先新装个论坛试试
回复 15# 的帖子
那 root /home//wwwroot/ 就行了。
原帖由 cpuer 于
22:15 发表
那 root /home//wwwroot/ 就行了。
好的,谢谢你,偶去看下
不研究了,过几天再研究
g奶奶折腾个啥
在绑定个域名就ok了
Powered by铜币11247两
威望8808点
贡献5683点
阅读:5269回复:5
nginx伪静态如何开启
发布于: 00:07
首先找到nginx的配置文件,一般您的站点都是放在server {
root /alidata/www/;
}之间的&然后在&root /alidata/www/;&的下面,加上PW的伪静态规则&rewrite ^(.*)-htm-(.*)$ $1.php?$2rewrite ^(.*)/simple/([a-z0-9\_]+\.html)$ $1/simple/index.php?$2&(nginx下的伪静态规则都是这个)&当然,如果您想使用.htaccess文件可以在&root /alidata/www/;&下加/home/www/phpwind/.htaccess然后里面加上您的伪静态规则&补充:在网上发现了个可以在线将Apache Rewrite伪静态规则自动转换为Nginx Rewrite网页。大家可以试试看。此地址里面的内容包含可以完成上面说的略做修改的功能。就是把.htaccess中的规则自动转换成nginx下面可用的规则。总结:.htaccess文件本来是apache专用的分布式配置文件,提供了针对每个目录改变配置的方法,即在一个特定的目录中放置一个包含指令的文件,其中的指令作用于此目录及其所有子目录。其实修改一下,nginx 也可使用.htaccess文件实现多种功能。实现伪静态只是.htaccess的其中一个用途,.htaccess还可以做很多的用途,如过滤访问 IP,设置web目录访问权限、密码等。
最新喜欢:
5jjj.net,爱名网在线push &链接:===================================================================
铜币9286两
发布于: 08:59
感谢分享啊,我用的虚拟主机,只要上传个伪静态规则就可以咯
请大家咨询问题前先站内搜索下
铜币4687两
威望2607点
发布于: 09:32
伪静态 & & & & & &唉
换友链: 桃源|:||:|铜仁地区:www.trdq.net|铜仁大学:|小游戏:|铜仁信息港:||铜仁:www.tongren.tv|LES:|铜仁大学生论坛:|贵州:|铜仁交友:|九万影视:|85路:|||[url=/]|||||换链接QQ:673 999128
<span class="lou J_floor_copy" title="复制此楼地址"
data-hash="read_楼#
发布于: 11:15
路过的,不懂
<span class="lou J_floor_copy" title="复制此楼地址"
data-hash="read_楼#
发布于: 11:55
感谢斑斑大人分享啊,伪静态对seo很重要哦
铜币3178两
<span class="lou J_floor_copy" title="复制此楼地址"
data-hash="read_楼#
发布于: 12:12
用户被禁言,该主题自动屏蔽!
Powered by开源问答Tipask伪静态apache和nginx设置_源码_站长之家
开源问答Tipask伪静态apache和nginx设置
[摘要]Tipask是一款开源、SEO友好、扩展性强、性能卓越的问答系统!Tipask 独特的MVC构架,使得二次开发非常容易,多种接口方便和已有系统整合。本文介绍开源问答Tipask伪静态apache和nginx设置。
  第一步:登录tipask后台,seo设置,开启伪静态  第二步:在Nginx的配置文件nginx.conf 中,加入以下代码实现rewrite。若开启所有规则,则添加如下代码:tipask安装在web的根目录下的情况if ($request_filename ~* (.*)\.html){
rewrite ^/(.*)$
/index.php?$1; }tipask不在web的根目录下的情况if ($request_filename ~* (.*)\.html){
rewrite ^(/tipask)/(.*)$ $1/index.php?$2; }  修改以上下语句中的 /tipask 为你的Tipask目录地址即可  第三步:重启nginx,完毕这个是apache下的rewrite规则&IfModule mod_rewrite.c&
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php?$0&/IfModule&  可以下载.htaccess这个文件,放到tipask根目录即可,然后后台开启伪静态! 软件大小:2.44MB 软件类别:国产软件 |
软件语言:简体中文 运行环境:PHP/Mysql 软件授权:免费版 更新时间: 14:40:29 相关链接:暂无
最流行的Web Server Apache发布了一个重大升级版,Apache HTTP Server 2.4的一个重要目标是大幅改进性能。...
热门源码下载推荐
最受关注报导
编辑推荐排行shopnc2.0 ~ 2.3 Nginx/Apache下伪静态配置方法_shopnc吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:317贴子:
shopnc2.0 ~ 2.3 Nginx/Apache下伪静态配置方法收藏
首先进入商城系统后台 设置 & SEO设置 & 伪静态 & 开启保存
然后打开nginx配置文件,将伪静态拷贝到相应位置,可参考如下配置
server_name
index.html index.htm index.
## 伪静态配置开始
rewrite ^/goods-([0-9]+)-([0-9]+).html$ /index.php?act=goods&goods_id=$1&id=$2
rewrite ^/groupbuy-([0-9]+)-([0-9]+).html$ /index.php?act=show_groupbuy&op=groupbuy_detail&group_id=$1&id=$2
rewrite ^/article-([0-9]+).html$ /index.php?act=article&article_id=$1
rewrite ^/store-([0-9]+).html$ /index.php?act=show_store&id=$1
rewrite ^/activity-([0-9]+)-([0-9]*).html$ /index.php?act=activity&activity_id=$1&nav_id=$2
rewrite ^/store_nav-([0-9]+)-([0-9]+).html$ /index.php?act=show_store&id=$1&article=$2
rewrite ^/document-([a-zA-Z_]+).html$ /index.php?act=document&code=$1
rewrite ^/coupon_info-([0-9]+)-([0-9]+).html$ /index.php?act=coupon_store&op=detail&coupon_id=$1&id=$2
## 伪静态配置结束
location ~ \.php$ {
fastcgi_pass
127.0.0.1:9000;
fastcgi_index
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
location ~ .*\.(js|css)?$
最后重启nginx即可
/usr/local/nginx/sbin/nginx -s reload
全站伪静态成功!
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或查看: 1991|回复: 4
最后登录注册时间阅读权限10精华0积分29帖子
实习码农[LV1], 积分 29, 距离下一级还需 121 积分
本帖最后由 EZCloud 于
22:16 编辑
& & 伪静态就是将原来动态化的页面址转换成为静态化的地址,例如:
& && &&&原访问地址:/list.php?page=123&id=456
& && &&&伪静态地址:/list-123-456.html
& & 这样原来的动态地址变成一个静态的地址,更有利于搜索引擎的收录,伪静态化在站长进行SEO时是一个必要的操作,下面我来详细介绍一下在Apache和Nginx中伪静态的设置方法。
Apache 2.x
1、首先我们要确认Apache已经正确加载了mod_rewrite模块
& && &检查httpd.conf中是否有LoadModule Rewrite_module modules/mod_Rewrite.so这段代码,如没有请加上。
& && && &&&
16:42 上传
& && &可以使用phpinfo确认是否已经正确加载此模块,如已加载,mod_rewrite会显示在Loaded Modules中,如图:
16:42 上传
2、策略配置。现有一个网站,根目录为/var/www/html,动态页面地址为/list.php?page=123&id=456,现在我们想要的效果是/list-123-456.html
& && && && &
16:43 上传
& && && && &
& && &我就用这个网站为例子介绍下具体的配置,在Apache中有两种方法配置,一是通过httpd.conf文件,二是通过.htaccess文件,策略语句的原理是使用正则表达式来匹配访问路径,并按照规则替换成指定的路径:
使用httpd.conf来配置rewrite策略:
要使用httpd.conf文件来设置伪静态策略,我们可以直接在httpd.conf中写入如下代码,如果您的网站是配置在VirtualHost中,则将这段代码加到对应的&VirtualHost hostname&&VirtualHost&
&IfModule mod_rewrite.c&
#输入: list-123-456.html
#输出: list.php?page=123&id=456
RewriteEngine on
RewriteRule ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1list.php?page=$1&id=$2
&/IfModule&
添加完成后重启httpd服务后即可生效使用.htaccess来配置rewrite策略
检查httpd.conf中的&Directory /&标签配置,确认AllowOverride配置为All,这样才能启用.htaccess文件:
&Directory /&
Options FollowSymLinks
AllowOverride All
&/Directory&
检查httpd.conf中的AccessFileName参数,确认为.htaccess
AccessFileName .htaccess
在网站根目录下建立.htaccess文件,写入如下内容:RewriteEngine on
RewriteRule ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1list.php?page=$2&id=$3复制代码保存后重启httpd服务即可生效
常见问题:
Q:为何都按上面设置了缺还是无法静态化?
A:很有可能是因为别的目录设置项覆盖了&Directory /&标签内的选项,导致.htaccess文件没起作用。这个问题一般出现在网站根目录的Directory标签中,在这个例子中,可以检查&Directroy &/var/www/html&&标签内的AllowOverride参数是否设置为All。
Q:.htaccess文件放在网站根目录,那子目录也可以实现伪静态吗?
A:.htaccess默认对所在目录下所有子目录生效,但是如果子目录中也放置了.htaccess文件,则该子目录下的访问规则以子目录中的.htaccess文件为准。
Nginx:
& && &Nginx下设置伪静态方法与Apache差不多,直接在nginx.conf (或者在对应的*.conf) 中找到需设置伪静态规则的服务器对应字段,在server{ location/{ } }中添加以下代码:
& & listen 80 default_
& & server_name _;
& & location / {
& && && &root /usr/share/nginx/
& && && &index index.html index.
& && && &rewrite ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1list.php?page=$2&id=$3;
& && && &}
添加后重启Nginx服务即可生效!
正则表达式匹配
& && &就用上面的例子中的伪静态策略来简单解释下正则表达式在配置的作用:
策略:RewriteRule ^(.*)list-([0-9]+)-([0-9]+)\.html$
$1list.php?page=$2&id=$3
请求路径:/list-123-456.html
本策略分成两段,第一段是使用正则表达式去匹配请求访问的路径,第二段是将匹配后的参数转化为真实访问的路径。策略执行时:^(.*)list-([0-9]+)-([0-9]+)\.html$ 与 /list-123-456.html 这个字符串进行匹配:
^和$字符分别代表了匹配输入字符串的开始和结束()中的匹配到的内容会被按顺序分配到变量$1 $2 $3中.*匹配任意字符串,且长度从0个到多个,故$1值为/[0-9]+匹配字符0-9,长度1个到多个,故$2和$3分别是123和456
所以最后真实访问的动态地址为 /list.php?page=123&id=456
上面只是介绍了基本的配置策略,其实这个rewrite规则还有非常多的玩法,例如使用RewriteCond进行域名层面的重写跳转,接下来可以找些资料慢慢补充。
有 3 人觉得本主题有帮助
最后登录注册时间阅读权限255精华3积分4413帖子
最后登录注册时间阅读权限10精华0积分480帖子
程序猿[LV2], 积分 480, 距离下一级还需 720 积分
支持支持支持学习学习学习
最后登录注册时间阅读权限10精华0积分33帖子
实习码农[LV1], 积分 33, 距离下一级还需 117 积分
httpd.conf这个文件在哪里找到???
最后登录注册时间阅读权限255精华8积分44826帖子
考研复习站 发表于
httpd.conf这个文件在哪里找到???
find / -name httpd.conf
Powered by

我要回帖

更多关于 nginx伪静态设置 的文章

 

随机推荐