本地主机网站/虚拟主机强制添加www前缀问题求助
解决本地Joomla自动跳转www及后台不安全问题
兄弟,你这情况我太熟了——把线上Joomla迁到本地后,最容易踩的就是「环境配置不匹配」的坑,咱们一步步来搞定:
1. 先搞定自动跳www导致无法访问的问题
线上网站肯定配置了强制跳www的规则,但你本地只设了joomla这个虚拟主机域名,没给www.joomla做解析,跳转后自然找不到服务器。这里有两个路子选:
方法一:直接改Joomla后台配置(最省心)
既然后台能正常进,直接在后台改全局配置最稳妥:
- 登录
joomla/administrator后台 - 点顶部菜单「系统」→「全局配置」→切换到「服务器」标签页
- 找到「站点域名」,改成你本地的域名
joomla(别加www);再把「强制使用www」改成「否」 - 保存完记得清缓存!点顶部「系统」→「清除缓存」,把所有缓存都清掉,不然可能还是会跳
方法二:给本地加www域名解析(如果想保留www跳转)
要是你就想让本地也能用www前缀访问,那得做两步:
- 改hosts文件:Windows找
C:\Windows\System32\drivers\etc\hosts,Mac/Linux找/etc/hosts,加一行:127.0.0.1 www.joomla - 改Wamp的虚拟主机配置:打开
wamp64\bin\apache\你的apache版本\conf\extra\httpd-vhosts.conf,给你的joomla虚拟主机加个别名:<VirtualHost *:80> ServerName joomla ServerAlias www.joomla # 新增这行 DocumentRoot "c:/wamp64/www/joomla" <Directory "c:/wamp64/www/joomla/"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require local </Directory> </VirtualHost> - 重启Wamp的Apache服务,之后
www.joomla就能正常访问了
2. 解决后台显示「不安全」的问题
这个是因为你本地用的是HTTP协议,Joomla后台默认会提醒非HTTPS连接不安全。分两种情况处理:
- 要是只是本地开发用,直接忽略这个提示就行,完全不影响功能
- 要是想彻底去掉这个提示,给本地配个HTTPS(稍微麻烦但更贴近线上):
- 打开Wamp的Apache模块,勾选
ssl_module启用SSL - 在刚才的虚拟主机配置文件里,加一段HTTPS的虚拟主机配置:
<VirtualHost *:443> ServerName joomla ServerAlias www.joomla DocumentRoot "c:/wamp64/www/joomla" SSLEngine on SSLCertificateFile "${INSTALL_DIR}/bin/apache/你的apache版本/conf/ssl.crt/server.crt" SSLCertificateKeyFile "${INSTALL_DIR}/bin/apache/你的apache版本/conf/ssl.key/server.key" <Directory "c:/wamp64/www/joomla/"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require local </Directory> </VirtualHost> - 重启Apache,用
https://joomla/administrator访问后台,浏览器会提示证书不安全,选择信任该证书就行,之后就不会再显示「不安全」了
- 打开Wamp的Apache模块,勾选
补充:为什么改.htaccess没用?
你之前改.htaccess没效果,大概率是因为Joomla的全局配置优先级比.htaccess的重写规则高!所以先改后台配置才是核心。如果之后还是有跳转问题,可以打开.htaccess,把强制www的规则注释掉:
# RewriteCond %{HTTP_HOST} !^www\. [NC] # RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
内容的提问来源于stack exchange,提问作者zaaanck
相关产品推荐
相关产品推荐

