Ubuntu 中zblog搬家后只能打开主页的解决办法
zblog博客程序搬家后只能打开主页,其它页面都提示找不到资源 或其它错误,总结几点要注意的细节:
1、想办法登录后台,刷新一次 “设置”中的“固定链接”。 即插件管理中的静态管理中心重新设置规则 可以换成默认规则后保存,再设回原先设置并保存,理论上就可以解决绝大多数人的问题了。
2、检查 Apache 的 rewrite mod 是否开启。用到的命令:
sudo a2enmod rewrite
3、检查 Apache 的对应目录 Allowoverride 是否设为 All。
<Directory "/var/www/html/test">
AllowOverride All
</Directory>
4、检查 Zblog 主目录下是否有正确设置的 .htaccess 文件。(重点检查!)默认设置如下,特别注意迁移后可能的目录更改。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
这里要强调一点:
进入zblog后台的插件管理>>静态管理中心
点击 “ReWrite”
选择 Apache + .htaccess
再点击 “创建.htaccess" 按钮,生成 .htaccess 文件 【 这一步很重要 】
5、检查 Zblog 网站整个目录是否为 755 权限, 【在配置网站ssl时,如果 出现各种不明错误提示,也有可能 是 权限 引起的……这点也要注意】
6、如果配置的是虚拟主机那么记得在配置文件中加入开启伪静态的功能
<VirtualHost *:80>
DocumentRoot D:/www
ServerName localhost
RewriteEngine on #规则放在下面即可
</VirtualHost>
Apache服务器配置SSL证书后使用https只能访问主页的解决方法
apache 服务器配置了SSL证书后使用https协议访问成功,但是只能访问首页,访问其他页面就提示404错误:Not Found The requested URL /archives/188.html was not found on this server. 网站后台采用的是WordPress,开启了固定链接伪静态功能。
产生这个错误的原因是网站开启了固定链接伪静态功能,而在Apache服务器的配置中没有开启链接重写功能。在Apache服务器的配置文件 httpd.conf 中找到标签 <Directory "网站根目录"> <Directory>,将标签中的 AllowOverride none 改为 AllowOverride all 即可。
阿里云ubuntu 证书ssl配置文件参考:
<VirtualHost *:443>
ServerName #修改为申请证书时绑定的域名。
DocumentRoot /data/www/hbappserver/public
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。
SSLHonorCipherOrder on
SSLCertificateFile cert/domain_name1_public.crt # 将domain_name1_public.crt替换成您证书文件名。
SSLCertificateKeyFile cert/domain_name1.key # 将domain_name1.key替换成您证书的密钥文件名。
SSLCertificateChainFile cert/domain_name1_chain.crt # 将domain_name1_chain.crt替换成您证书的密钥文件名;证书链开头如果有#字符,请删除。
</VirtualHost>
#如果证书包含多个域名,复制以上参数,并将ServerName修改为第二个域名。
<VirtualHost *:443>
ServerName #修改为申请证书时绑定的第二个域名。
DocumentRoot /data/www/hbappserver/public
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。
SSLHonorCipherOrder on
SSLCertificateFile cert/domain_name2_public.crt # 将domain_name2替换成您申请证书时的第二个域名。
SSLCertificateKeyFile cert/domain_name2.key # 将domain_name2替换成您申请证书时的第二个域名。
SSLCertificateChainFile cert/domain_name2_chain.crt # 将domain_name2替换成您申请证书时的第二个域名;证书链开头如果有#字符,请删除。
</VirtualHost>