lnmp安裝包tp5繫結到public目錄頁面空白
lnmp安裝包tp5繫結到public目錄頁面空白:
為了去掉TP5 URL地址裡面的public,把網站根目錄改成了/home/wwwroot/name/public ,重啟Nginx(lnmp nginx restart 或者 service nginx restart)發現網站開啟空白,什麼都不顯示。經過查詢資料發現是lnmp一鍵環境包做了防跨站防護,導致不能訪問public以外的目錄。
博主伺服器環境 :centos7 lnmp1.5一鍵環境包
按lnmp整合環境提供的方法(lnmp vhost add)新增虛擬站點,訪問站點就要加個二級目錄,如
http://name/public
所以為了可以讓訪問連結變得更加友好(即http://www.name),可以修改/usr/local/nginx/conf/vhost/www.name.conf(下稱“專屬配置”)
root /home/wwwroot/name/;
改為:
root /home/wwwroot/name/public;
那麼問題來了,由於lnmp環境考慮到虛擬站點各自的訪問目錄許可權問題,於是在/usr/local/nginx/conf/fastcgi.conf
裡配置了
fastcgi_param PHP_ADMIN_VALUE “open_basedir=$document_root/:/tmp/:/proc/”;
那麼每個站點的訪問許可權就限制在各自的document_root裡了,
於是,我們修改的root(root /home/wwwroot/name/public;)就把許可權限制在public目錄之後,
軟體架構根目錄下的application等都無法訪問了,那麼此時我們要解決的問題是:
2.既要保持root /home/wwwroot/name/public;,又要讓虛擬站點有/home/wwwroot/name.com目錄的訪問許可權,
那麼可以修改/usr/local/nginx/conf/fastcgi.conf配置檔案:
fastcgi_param PHP_ADMIN_VALUE “open_basedir=$document_root/:/tmp/:/proc/”;
改為:
fastcgi_param PHP_ADMIN_VALUE “open_basedir=/home/wwwroot/name/:/tmp/:/proc/”;