- A+
所属分类:环境配置
环境说明
- centos 7.2 64位
- lnmp 1.4测试
- dedecms 最新版
实现说明
使用lnmp实现二级域名访问二级目录,简单?如果你是二级目录又是额外的一个网站,那么这个真的是简单,但如果你的二级目录只是网站的一个分支,那就不简单了。
dede移动端我一直都用二级域名去搞的,因为如果是做二级目录很多搜索引擎支持的不好,所以没办法,只能去解决。
如果按照常规的操作,新增一个二级目录的网站,只需要绑定那个目录的地址就可以了。
如果是dede会出现:/install/index.php,因为在index.php文件里面有这么一段。
- if(!file_exists(dirname(__FILE__).'/../data/common.inc.php'))
- {
- header('Location:install/index.php');
- exit();
- }
所以答案已经出来了,就是如何访问到上一层的目录,也称之为:跨目录
跨目录解决方案
- 在官方的内容中:LNMP 1.2及更高版本防跨目录功能使用.user.ini,该文件在网站根目录下,可以修改open_basedir的值来设置限制目录的访问。
- 那就直接去修改文件,user.ini
- 如要修或删除需要先执行:chattr -i /网站目录/.user.ini
- 进入当下目录(也可以不进入) vim .user.in(vim /home/wwwroot/域名/.user.in),不知道怎么保存,怎么退出了吧?(先按i,编辑完成后:wq)
- open_basedir=/home/wwwroot/域名:/tmp/:/proc/ (修改其文件夹位置)
- 修改完成后再执行:chattr +i /网站目录/.user.ini
- .user.ini不需要重启一般5分钟左右生效,也可以重启一下php-fpm立即生效。
附:
前面几步做完后,发现没反应,然后发现自己是1.4的,然后根据下面的内容完成。
LNMP 1.4上如果不想用防跨目录还需要将 /usr/local/nginx/conf/fastcgi.conf 里面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 删除,需要重启nginx。
资料来源:https://lnmp.org/faq/lnmp-vhost-add-howto.html#user.ini