TP3.2TP框架开发soap接口伪静态Nginx配置错误

博客分类:
很多程序都会用到伪静态。在这里统一记录下操作的方法。
Apache伪静态配置:A) PHP配置
vim /etc/php.ini
cgi.fix_pathinfo = 1 #将注释去掉
B) apache配置
vim /etc/httpd/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so #将该句注解去掉。
&Directory /&
Options FollowSymLinks
AllowOverride None
&/Directory&
#中把AllowOverride的None改为All
service httpd restart #重启apache
Nginx伪静态配置
vim /etc/nginx/conf.d/default.conf
location / {
root /var/www/
index index.html index.htm index.
#在这里面加入各自程序的伪静态规则,如thinkphp的伪静态规则如下
location / {
root /var/www/
index index.html index.htm index.
if (!-e $request_filename) {
/index.php?s=$1
service nginx restart #重启nginx
按照这样的方式,伪静态就生效了!
wangking717
浏览: 184056 次
来自: 成都
4jcms已转为私人项目了,供以后自己用~ 如果有人感兴趣的, ...
CommonAccount 写道怎么我写了没反应你需要把jqu ...
你好,需要用到的jar包有哪些,如果用httclient4来开 ...
怎么我写了没反应
shankesgk2 写道这个还在开发吗?是的,在开发阶段~
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'终于搞定在nginx上支持.htaccess伪静态了
终于搞定在nginx上支持.htaccess伪静态了
在虚拟机里折腾LNMP,为了测试网站怎样配置给装上了Wordpress。OK,跑起来一切顺意,最后开启伪静态却发现无效。看来nginx不支付加载htaccess,那只好手工加载了。找了很多方法一一尝试均,折腾了好几次才搞定。记录一下方法,方便以后查看。
首页在wordpress站点下放置一个.htaccess文件,文件内容为。
然后进入nginx的配置目录。(因安装环境不同,路径位置各不相同,请自行查找)
如:vi /www/web/nginx/conf/vhost/www.tsov.net.conf (我测试安装在虚拟空间上)
或: vi /www/web/nginx/conf/nginx.conf
在server {
listen 80;
server_name tsov.net www.tsov.
root /www/web/www.tsov.
include /www/web/www.tsov.net/. //增加这句,注意路径。
…….
后面省略了
然后再重新加载nginx:
/etc/init.d/nginx restart
(注意,很多网站介绍时,把init.d写成了init)
提醒一下:apache下的htaccess与nginx用的规则是不同的。 当然,在第一步新建.htacess时,也可以用什么名字,那么在include时对应写正确就行了。
还有一点要注意的:重新加载nginx时,要注意观看是成功加载了,还是失败了。有提示的。
比如显示:[emerg]:unknow directive “…….. 这时就是你htaccess的内容 …….”,就表示加载失败,你加载的文件有问题了。
若显示:the configuration file …..你文件路径…….syntax is ok
configuration file …..总配置文件路径……. test is successful
Reloading nginx:
就表示加载成功了。
相关日志 (5) (0) (3) (2) (0) (0) (0) (0) (2) (6)
2018年六月
2018年三月
2018年一月
2017年十二月
2017年十一月
2017年一月
2015年五月
2014年十二月
2014年十一月
2014年十月
2014年九月
2013年四月
2013年三月
2013年一月
2012年十二月
2012年十一月
2012年十月
2012年九月
2012年八月
2012年七月
2012年五月
2012年四月
2012年三月
2012年二月
2012年一月
2011年十二月
2011年十一月
2011年十月
2011年九月
2011年八月
2011年七月
2011年六月
2011年五月
2011年四月
2011年三月
2011年二月
2011年一月
2010年十二月
2010年十一月
2010年十月
2010年九月
2010年八月
2010年七月
2010年六月
2010年五月
2010年四月
2010年三月
2010年二月
2010年一月
2009年十二月
2009年十一月
2009年十月
2009年九月
2009年八月
2009年七月
2009年六月
2009年五月
2009年四月
2009年三月
2009年二月
2009年一月
2008年十二月
2008年十一月
2008年十月
2008年九月
2008年八月
2008年七月
2008年六月
2008年五月
2008年四月
2008年三月
2008年二月
2008年一月
2007年十二月
2007年十一月
2007年十月
2007年九月
2007年八月
2007年七月
2007年六月
2007年五月
2007年四月
2007年三月
2007年二月
2007年一月
2006年十二月
2006年十一月
2006年十月
2006年九月
2006年八月
2006年七月
2006年六月
2006年五月
2006年四月
2006年三月
2006年二月
2006年一月
2005年十二月
2005年十一月
2005年十月
2005年九月
2005年八月
2005年七月
2005年六月
2005年五月
2005年四月
2005年三月
2005年二月
2005年一月
2003年七月众所周知,LAMP代表Linux下Apache、MySQL、PHP这种网站服务器架构;而LNMP指的是Linux下Nginx、MySQL、PHP这种网站服务器架构。LNMP一键安装包可以从网上下载使用。Nginx(发音同 engine x)由 Igor Sysoev 用C语言为俄罗斯访问量第二的搜索引擎 Rambler.ru 站点开发,是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3/SMTP)代理服务器,其将源代码以类BSD许可证的形式发布,并在一个BSD-like 协议下发行。其特点是小巧高效,占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好。中国大陆使用Nginx网站用户有:新浪、网易、淘宝、腾讯等。Nginx第一个公开版本0.1.0发布于日。因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。日,Nginx 1.0.4发布。由此可以看出使用LNMP架构的好处。关于伪静态技术,最初是动态语言出现后为了解决用户访问的便利性和搜索蜘蛛的友好性。关于伪静态的组件有ISAPI_Rewrite、开源的IIRF等。但ISAPI_Rewrite Lite版只支持全局的httpd.conf的,不支持分布式的httpd.ini的,只有收费的Full版才支持分布式httpd.ini。现在我们知道,Nginx也能实现简单的伪静态。更多介绍伪静态可以
CI在Apache、Nginx上运行需要.htaccess配置文件,在IIS服务器上则需要web.config文件,CI的伪静态我们可以通过.htaccess里面的规则设定
RewriteEngine on &RewriteCond $1 !^(index\\.php|system\\.php|images|skin|js|ls|swfupload|attachment|application|robots\\.txt) &RewriteRule ^(.*)$ /fx/index.php/$1 [L]注: RewriteRule ^(.*)$ /webdir/index.php/$1 [L]里的webdir是你的CI程序目录&Nginx服务器伪静态设置首先需要设置nginx开启 path_info (LNMP默认已开启),可以参考以下来自ZK的方法:假设我们的子目录名称为 zk&&&&&&& location /zk/ {&&&&&&& root&& /var/www/html/;&&&&&&& index index.html index.htm index.&&&&&&& if ($request_filename !~* /giftbox/(javascript|css|images|style|upimg|artDialog|fckeditor|userfiles|crontab|robots\.txt|index\.php)) {&&&&&&& rewrite ^/(.*)$ /zk/index.php?$1&&&&&&& }root 的目录路径为您的根目录路径 不需要更改。另外附上主目录伪静态规则&&&&&&& #rewrite ^/$ /index.&&&&&&& #一下是防止某些文件夹被直接访问&&&&&&& #rewrite ^/(?!index\.php|images|robots\.txt|js|css|upimg|artDialog|style)(.*)$ /index.php/$1首先需要设置nginx 开启 path_info (lnmp默认已经开启path_info)伪静态规则:if ($request_uri ~* ^/system){&rewrite ^/(.*)$ /index.php?/$1&}if (!-e $request_filename){&rewrite ^/(.*)$ /index.php?/$1&
在网上查到的资料很多人都说nginx目前不支持.htaccess文件来做伪静态,小子也觉得不应该,作为世界上轻量级最好用的WEB服务器,Nginx应该可以的,谷歌了一下,找到了nginx完全可以支持.htaccess文件的资料,其实下的文件是没有扩展名区别的,而针对nginx的伪静态配置文件更是没有名称的区别,只要指定相应路径即可,具体步骤请按如下操作:
1、新建一个.htaccess文件,在里面输入规则,如:
# nginx rewrite rule
rewrite ^(.*?)/article/.*?-(\d+)-(\d+)\.html$ $1/show.html?id=$2&page=$3 break;
rewrite ^(.*?)/category/.*?-(\d+)-(\d+)\.html$ $1/list.html?id=$2&page=$3 break;
rewrite ^(.*?)/tag/([^/]+)/?$ $1/tag.html?w=$2 break;
&span id="more-1758"&&/span&
rewrite ^(.*?)/tag/([^/]+)/(\d+)$ $1/tag.html?w=$2&page=$3 break;
# end nginx rewrite rule
保存文件并上传到网站的根目录。
2、修改虚拟主机配置
# ee /usr/local/etc/nginx/nginx.conf #freebsd 7.2默认nginx默认安装的配置文件在你需要添加伪静态的虚拟机中的server块中引入.htaccess文件
include /usr/www/.htaccess #请把这个改成你.htaccess文件的位置,保存、退出重启nginx
# /usr/local/etc/rc.d/nginx restart刷新看看,如果能正常器从证明你的rewrite rule的语法是正确
nginx的rewrite规则您可以直接放在主机配置中也可以放在独立的文件用includeinru,存为独立的文件时,保存到一个新的文件(文件名可以任意取,不过建议还是用.ht(注意有个“点”)开头的文件名,因为这个服务器里面默认过滤了外部对.ht开头的文件访问:
location ~ /\.ht {}
CI的htaccess配置
最近突然想把链接中的index.去掉,网上搜索了一把,发现解决方法很多,整理下。首先是两个基本修改点:1. 在httpd.conf中,将 所有 AllowOverride None& 改为 AllowOverride All 好像共有三处吧,然后重启apache2. 将 config.php中的& $config['index_page'] = 'index.php';& 改为 $config['index_page'] = '';然后根据具体配置:3.1 如果站点直接位于服务器根目录下,如/www/ 那如下配置就行:
RewriteEngine&on&&
RewriteCond&$1&!^(index\.php|robots|stafile|upload|\.txt)&&
RewriteRule&^(.*)$&/index.php/$1&[L]&&
3.2 如果设置了别名,则加上 RewriteBase /别名/3.3 如果位于根目录下的二级目录,则修改Rewrite Rule为:
RewriteEngine&on&&
RewriteCond&$1&!^(index\.php|robots|stafile|upload|\.txt)&&
RewriteRule&^(.*)$&/mysite/index.php/$1&[L]&&
最后,有个htaccess教程,可以详细了解下各个配置。http://www.javascriptkit.com/howto/htaccess.shtml
阅读(...) 评论()扫一扫体验手机阅读
最新ThinkPHP V5在iis、nginx、apache下的安装过程、包含伪静态引起的错误
<span type="1" blog_id="2068828" userid='6
35篇文章,255W+人气,677粉丝
51cto高级讲师
鸟瞰Web应用开发
¥51.003人订阅
<span type="1" blog_id="2068828" userid='6tp5 与 nginx 搭配在根目录和子目录中如何设置伪静态
时间: 10:50:04
&&&& 阅读:212
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&配置文件参考一下:
location /public/ {
if (!-e $request_filename){
^/public/(.*)$
/public/index.php?s=/$1
location /public2/ {
if (!-e $request_filename){
^/public2/(.*)$
/public/index.php?s=/$1
location / {
if (!-e $request_filename){
/index.php?s=/$1
&标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文地址:https://www.cnblogs.com/gavinyyb/p/8905222.html
&&国之画&&&& &&&&chrome插件
版权所有 京ICP备号-2
迷上了代码!

我要回帖

更多关于 Nginx 伪静态 的文章

 

随机推荐