Heim >Backend-Entwicklung >PHP-Tutorial >nginx两个tp程序一个放到二级目录下,我们要如何访问

nginx两个tp程序一个放到二级目录下,我们要如何访问

PHP中文网
PHP中文网Original
2017-03-30 09:10:372780Durchsuche

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

网站根目录是: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\/ 直接在前面做下匹配就可以了。

以上就是nginx两个tp程序一个放到二级目录下,只能通过/index.php?g=Home&m=Category&a=index这种方式访问的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn