军歌 求帮忙 关于伪静态的设置问题
域名是 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;
}
可是还是不能成功 请教问题出在哪? 我也重启了nginx 提示 伪静态设置成功
回复 1# 的帖子
可能是伪静态的问题,在线转换的成功率不一定很好。 原帖由 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;
请问这个规则 有问题吗?
回复 4# 的帖子
嗯,可能是,最好找官方要个nginx的伪静态。
页:
[1]