能否将localhost地址http://localhost:8081/bsamaraci/index.php/welcome/account_data改为http://mydomain.cc/同路径?
别担心,这个需求完全能搞定,不管你是在本地测试环境调试,还是要部署到线上服务器都适用。下面我分步骤给你讲清楚具体操作:
第一步:本地测试先做域名映射(仅本地环境需要)
如果只是在自己电脑上测试访问mydomain.cc,需要把这个域名指向本地IP。编辑系统的hosts文件:- Windows:打开
C:\Windows\System32\drivers\etc\hosts - macOS/Linux:打开
/etc/hosts
添加一行内容:
127.0.0.1 mydomain.cc保存后,浏览器输入
mydomain.cc就会自动指向你的本地服务器了。- Windows:打开
第二步:配置Web服务器(Apache或Nginx)
你的Web服务器需要识别mydomain.cc这个域名,并把请求转发到你的项目目录。Apache配置
找到Apache的虚拟主机配置文件(通常在
conf/extra/httpd-vhosts.conf或者/etc/apache2/sites-available目录下),添加以下配置:<VirtualHost *:80> ServerName mydomain.cc DocumentRoot "/你的项目根目录路径/bsamaraci" <Directory "/你的项目根目录路径/bsamaraci"> AllowOverride All Require all granted </Directory> </VirtualHost>配置完成后重启Apache服务生效。
Nginx配置
找到Nginx的配置目录(通常是
/etc/nginx/conf.d或者/etc/nginx/sites-available),新建mydomain.cc.conf文件,内容如下:server { listen 80; server_name mydomain.cc; root /你的项目根目录路径/bsamaraci; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; # 对应你的PHP-FPM端口,默认一般是9000 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }保存后重启Nginx服务即可。
第三步:调整应用的基础URL配置
从你的URL结构index.php/welcome/account_data来看,这应该是CodeIgniter框架的项目。需要修改项目内的配置文件:
打开application/config/config.php,找到$config['base_url']这一行,修改为:$config['base_url'] = 'http://mydomain.cc/bsamaraci/';这样应用生成的所有内部链接都会自动使用新域名,而不再是
localhost了。
如果是部署到线上服务器,只需要把mydomain.cc的域名解析到服务器的公网IP,然后重复上面的第二步和第三步配置就行,不需要修改hosts文件。
内容的提问来源于stack exchange,提问作者Tri Bagus

