ホームページ >バックエンド開発 >PHPチュートリアル >2 つの nginx TP プログラムのうち 1 つはセカンダリ ディレクトリに配置され、/index.php?g=Home&m=Category&a=index を通じてのみアクセスできます。

2 つの nginx TP プログラムのうち 1 つはセカンダリ ディレクトリに配置され、/index.php?g=Home&m=Category&a=index を通じてのみアクセスできます。

WBOY
WBOYオリジナル
2016-06-20 12:26:521344ブラウズ


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

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