ホームページ >バックエンド開発 >PHPチュートリアル >2 つの nginx TP プログラムのうちの 1 つはセカンダリ ディレクトリに配置されています。それにはどのようにアクセスしますか?

2 つの nginx TP プログラムのうちの 1 つはセカンダリ ディレクトリに配置されています。それにはどのようにアクセスしますか?

PHP中文网
PHP中文网オリジナル
2017-03-30 09:10:372778ブラウズ

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)!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。