W19384599 发表于 2011-2-16 10:21:21

军歌 求帮忙 关于伪静态的设置问题

域名是 ask.917wanyx.com

文件安装目录是 /root/wwwroot/ask.917wanyx.com

开启虚拟主机的时候 选的是自定义伪静态名字 为 ask.conf

伪静态实现跳转的是

访问 http://ask.917wanyx.com/xenk/19/19345182.htm 实际访问的是 http://ask.917wanyx.com/ask.php?keshi=xenk/19/19345182.htm

我的htaccess 设置如下:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.+)/(.+)/(.+)\.htm$ $1/ask\.php\?keshi=$2/$3/$4\.htm
通过你们介绍的那个在线转换地址得到
if (!-f $request_filename){
set $rule_0 1$rule_0;
}
#ignored: condition 1
if ($rule_0 = "2"){
rewrite ^/(.*)/(.+)/(.+)/(.+)\.htm$ /$1/ask\.php\?keshi=$2/$3/$4\.htm;
}


在/user/local/nginx/conf 下 找到 ask,conf 设置如下
location / {
if (!-f $request_filename){
set $rule_0 1$rule_0;
}
#ignored: condition 1
if ($rule_0 = "2"){
rewrite ^/(.*)/(.+)/(.+)/(.+)\.htm$ /$1/ask\.php\?keshi=$2/$3/$4\.htm;
}

}

在/user/local/nginx/conf/vhost/ask.917wanyx.com.conf 的设置是默认的 如下
server
{
listen 80;
server_name ask.917wanyx.com;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/ask.917wanyx.com;

include ask.conf;
location ~ .*\.(php|php5)?$
{
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}

location ~ .*\.(js|css)?$
{
expires 12h;
}

access_log off;
}


可是还是不能成功 请教问题出在哪?

W19384599 发表于 2011-2-16 10:26:59

我也重启了nginx 提示 伪静态设置成功

licess 发表于 2011-2-16 11:50:42

回复 1# 的帖子

可能是伪静态的问题,在线转换的成功率不一定很好。

W19384599 发表于 2011-2-16 11:56:33

原帖由 licess 于 2011-2-16 11:50 发表 https://bbs.vpser.net/images/common/back.gif
可能是伪静态的问题,在线转换的成功率不一定很好。

请问军歌 我原来的伪静态规则是

RewriteEngine On
RewriteRule ^(.*)/(.*)/(.*)\.htm$ ask\.php\?keshi=$1/$2/$3\.htm
RewriteRule ^keshi_(.*)$ keshi\.php\?keshi=$1

这个规则 在虚拟主机的环境下 测试成功
转换后为

rewrite ^/(.*)/(.*)/(.*)\.htm$ /ask\.php\?keshi=$1/$2/$3\.htm;
rewrite ^/keshi_(.*)$ /keshi\.php\?keshi=$1;


请问这个规则 有问题吗?

licess 发表于 2011-2-16 13:04:28

回复 4# 的帖子

嗯,可能是,最好找官方要个nginx的伪静态。
页: [1]
查看完整版本: 军歌 求帮忙 关于伪静态的设置问题