欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

nginx两个tp程序一个放到二级目录下,只能通过/index.php?g=Home&m=Category&a=index这种方式访问

程序员文章站 2022-05-08 15:02:40
...
网站根目录是:xxx.com
二级目录:xxx.com/info
根目录没有问题,可以用u函数访问,二级目录只能访问到首页,或者用xxx.com/info/index.php?g=Home&m=Category&a=index这种方式访问,后台那些都没办法访问。
不知怎么解决,求各位大大指教。


回复讨论(解决方案)

加了一个二级目录的重写之后,访问会无限死循环。求大神支招啊~~

location  /info/ {       if (!-e $request_filename) {                 rewrite  ^(.*)$ /info/index.php?s=$1  last;                }        }

你那样写表示路径中含有/info/ 的就都转向,转向到包含/info/的路径,那很显然是死循环。/info/ 你后面加个$试试看。

你那样写表示路径中含有/info/ 的就都转向,转向到包含/info/的路径,那很显然是死循环。/info/ 你后面加个$试试看。


模式2还是不行,访问不到

这个问题,由于nginx和Apache不一样,Apache支持.htaccess重写,但nginx不认.htaccess,所以你得让你的nginx支持path_info和伪静态。

这个问题,由于nginx和Apache不一样,Apache支持.htaccess重写,但nginx不认.htaccess,所以你得让你的nginx支持path_info和伪静态。


对,就是 rewrite ^(.*)$ /info/index.php?s=$1 last;这个可以用模式2来访问,根目录的可以没有问题,二级目录的就不行了。

解决了,改了半天,rewrite ^\/info\/ 直接在前面做下匹配就可以了。