标题:
[求助]
我用了nginx+apache,却怎么也搞不定DX2的伪静态了
[打印本页]
作者:
芜湖论坛
时间:
2011-11-27 02:07
标题:
我用了nginx+apache,却怎么也搞不定DX2的伪静态了
单独apache时候是好的。
作者:
admin
时间:
2011-11-27 10:01
是用到哪个规则?在n+a里,还是要用A的规则的
作者:
芜湖论坛
时间:
2011-11-27 10:22
A的规则,单独apache时候是好的。
作者:
admin
时间:
2011-11-27 10:27
你看下虚拟主机配置文件里,规则 是放在A的配置文件里还是N的配置文件里?
也可以用.htaccess格式测试下
作者:
wmica
时间:
2011-12-6 12:52
回复
4#
admin
按照你这个方法也搞不定 还是没法实现静态化 是不是因为A没有加载了 mod_rewrite 模块 是不是需要我们自己安装或者设置httpd.conf
作者:
wmica
时间:
2011-12-6 13:25
在线等候老大恢复
作者:
ztskycn
时间:
2011-12-7 16:16
干嘛用二种WEB呢;nginx的伪静态一般直接写在vhost里面,apache就放在.htaccess就可以了。规则大部分都是一样的。
作者:
baifebbb
时间:
2011-12-9 21:26
本帖最后由 baifebbb 于 2011-12-9 21:35 编辑
干嘛用二种WEB呢;nginx的伪静态一般直接写在vhost里面,apache就放在.htaccess就可以了。规则大部分都是一 ...
ztskycn 发表于 2011-12-7 16:16
没用的。伪静态没有想像的那么简单,下面是PW8.7的规则,凡是与PHP相关的显示都正常,而与HTM相关的都是无法显示的。估计HTM的伪静态规则是交给了nginx处理了,而apache只处理含PHP的规则。
例:
动态页
http://www.php***.net/thread
.php?
fid=2
转成伪静态页
http://www.php***.net/thread
.php?
fid-2
.html
正常显示
http://www.php***.net/thread
-htm-
fid-2
.html
找不到该页
而在纯apache环境下两种方法都是正常显示的。
根目录下的.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule f(\d+)_(.*)_(.*)$ /thread.php?fid=$1&page=$2&type=$3
RewriteRule f(\d+)_(.*)$ /thread.php?fid=$1&page=$2
RewriteRule f(\d+)$ /thread.php?fid=$1
RewriteRule (\d+)_(.*)_(.*)_(.*).html$ /read.php?tid=$1&page=$2&fpage=$3&uid=$4
RewriteRule (\d+)_(.*)_(.*).html$ /read.php?tid=$1&page=$2&fpage=$3
RewriteRule (\d+)_(.*).html$ /read.php?tid=$1&page=$2
RewriteRule (\d+).html$ /read.php?tid=$1
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
RewriteRule /simple/([a-z0-9\_]+)\.html$ /simple/index\.php\?$1
RewriteRule ^u/([0-9]+)$ u.php?uid=$1
</IfModule>
作者:
苍狼
时间:
2011-12-11 19:15
是啊 我用Lanmp 实现不了静态化 我用的 Discuz 和 WordPress 建站, 把在Wdcp的网站配置里2个站点添加规则 报 nginx 502错误, 只给Discuz 添加规则 可是实现伪静态, 而只给 Wordpress 添加规则 却不能实现,
我试着面板里关掉规则 而在2个网站根目录添加.htaccess 均无法实现.
而单独只安装 LAMP 则无论是WDCP面板添加规则 还是网站根目录添加.htaccess 两个站点都能完美实现伪静态
PS: 我用 Centos 6 和 centos 5.7 都测试了 均是这样
作者:
15433
时间:
2011-12-21 12:07
进入:/www/wdlinux/nginx/conf/vhost
编辑:主机.conf
在server段 ,root /目录
的下面加 include discuzx.conf;
然后保存
把下面保存为discuzx.conf
rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^\.]*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^\.]*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3 last;
rewrite ^([^\.]*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3 last;
if (!-e $request_filename) {
return 404;
}
复制代码
上传到/www/wdlinux/nginx/conf/
重新加载nginx配置文件:
/www/wdlinux/nginx/sbin/nginx -s reload
作者:
hyxuzhimin
时间:
2012-1-16 00:11
回复
8#
baifebbb
为什么我的wordpress可以以html结尾来静态化?没有你说的要在html前面加php。nginx和apache没冲突啊?
作者:
hyxuzhimin
时间:
2012-1-16 00:35
回复
9#
苍狼
我在虚拟机里搭建了一个DISCUZ X2。 伪静态选择了dzx15_apache.可以实现DISCUZ伪静态。
同时还有一个wordpress,我是直接写的htaccess文件放在wordpress文件夹里的。也实现了wordpress伪静态。
上面两个都是用apache伪静态规则的。两个都很正常。
至于一个用nginx伪静态,一个用apache伪静态,我还没试过。我想这样做可能会有冲突吧。
作者:
hyxuzhimin
时间:
2012-1-16 00:41
果然,把dzx15_apache换成dzx15_nginx之后,discuz和wordpr都报错了。
502 Bad Gateway
nginx/1.0.1
看来不能两种规则混用啊。
作者:
admin
时间:
2012-1-16 09:10
这是肯定的
欢迎光临 WDlinux官方论坛 (http://wdlinux.cn/bbs/)
Powered by Discuz! 7.2