Wengege 发表于 2011-6-20 16:46:20

无奈了,只能来求助军哥。伪静态问题。

我用的是一个问问小偷程序。他自带了两个规则。
一个是.htaccess。
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)article/(.+)$ $1/article\.php\?$2
RewriteRule ^(.*)list/(.*)$ $1/list\.php\?$

一个是windows的ISAPI规则:



# 3600 = 1 hour
CacheClockRate 3600

RepeatLimit 32


RewriteRule (.*)article/(.*) $1/article\.php\?$2
RewriteRule (.*)list/(.*) $1/list\.php\?$2


我先是把.htaccess的规则拿到军哥提供的网址转换了。然后放上。
无效。
然后自己又写了许多个,就是把条件语句去掉了,直接把后面两句转化了。
发几个例子:
location / {
        rewrite /article/(.*)$ /article\.php\?$1 last;
        rewrite /list/(.*)$ /list\.php\?$1 last;
        }

location / {
        rewrite /article/(.*)$ /article\.php\?$1;
        rewrite /list/(.*)$ /list\.php\?$1;
        }

location / {
        rewrite article/(.*)$ article\.php\?$1;
        rewrite list/(.*)$ list\.php\?$1;
        }

总之,去斜杠、加双引号等等动作都尝试过,都是无效(网站正常运行,404页面报错。)

说几个要点,希望军哥帮我解决问题。

小偷程序的伪静态是这样的。
他原来的URL格式(不伪静态)就是/XXX.php?YYY.html,是自带了html后缀的。
伪静态之后就是/XXX/YYY.html
可以说只是把php?改成了“/”

不论我怎么伪静态都不行。

VPS上很多站,用同一个程序同一个伪静态规则。

只测试了一个站,这个站伪静态不成功。

操作过程要点就这么多。军哥帮我看看啊。

licess 发表于 2011-6-20 17:24:51

规则不会写

Wengege 发表于 2011-6-20 17:48:34

回复 2# 的帖子

我晕,军哥对nginx不了解?
我的规则应该是没错的
会不会是conf配置错误?

Wengege 发表于 2011-6-20 20:32:23

.       没人在?

yuweitaocn 发表于 2011-6-21 12:33:28

哥哥啊,你的伪静态写得没有一条是对的啊。。我不得不佩服一下楼主啊。不会写就不要用伪静态么。。

yuweitaocn 发表于 2011-6-21 12:35:12

你的rewrite规则写错了,自己查他的语法规则,

yuweitaocn 发表于 2011-6-21 12:36:32

其二,就算你是想这样写的话,也要你的程序可以支持这样的才行的啊。。你要开启你的这一个程序,他内部是怎么写的伪静态,你才可以在NIGNX里面写条目啊,你这样做完全就是悲剧。。

Wengege 发表于 2011-6-21 18:27:21

回复 7# 的帖子

说什么呢?你会写吗?写条给我看看?
不会不要妄加指责。我这个是对照官方解释的正则表达式写的

Wengege 发表于 2011-6-21 18:28:57

回复 7# 的帖子

什么叫程序支持?
程序本身是这样的
主题帖写的很清楚了。
我自己也测试过了。
程序自带的伪静态规则、程序伪静态前后URL都在主题帖贴的很清楚
不懂不要乱讲。
我不得不佩服一下你呀,不懂还在乱讲,贻害群众么?

Wengege 发表于 2011-6-21 18:31:01

回复 6# 的帖子

好吧请告诉我正确的语法规则是什么?
不知道你用过lnmp没有。
请看清楚,我用的不是lnmpa

yuweitaocn 发表于 2011-6-21 19:13:09

回复 9# 的帖子

location / {
      rewrite ^/(.*)article/(.+)$ $1/article.php?$2 break;
      rewrite ^/(.*)list/(.*)$ $1/list.php?$2 break;
      }

[ 本帖最后由 yuweitaocn 于 2011-6-21 19:31 编辑 ]

Wengege 发表于 2011-6-21 19:31:54

回复 11# 的帖子

好吧,给我解释下,这样有什么深刻含义。
同样是转化的,就你的是对的?

Wengege 发表于 2011-6-21 19:34:12

回复 11# 的帖子

说过转化是不行的。

你的:location / {
      rewrite ^/(.*)article/(.+)$ $1/article.php?$2 break;
      rewrite ^/(.*)list/(.*)$ $1/list.php?$2 break;
      }



前半截是什么意思?
rewrite ^/(.*)article/(.+)$ $1/article.php?$2
就是把
abc.com/article.php?xyz重写为/abc.comarticle.php?xyz

[ 本帖最后由 Wengege 于 2011-6-21 19:35 编辑 ]

yuweitaocn 发表于 2011-6-21 20:29:39

回复 13# 的帖子

总有这么多的好事者,安照你的这一个解释,把你自己的翻译一下啊?

yuweitaocn 发表于 2011-6-21 20:30:15

回复 13# 的帖子

自己写了狗P不通的REwrite还好意思说,你现在用上去还是403>??
页: [1] 2
查看完整版本: 无奈了,只能来求助军哥。伪静态问题。