apache下安装wordpress的时候出了一点问题。为了站点的结构清晰,我把wordpress安装在blog目录下,但是想直接通过域名访问。原本想通过设置虚拟目录来实现,但是发现使用Alias只能映射为某个特定别名,映射根目录就会出错,图片载入不了。在网上找到了这篇文章。其实就是做了个重定向,翻译+总结如下:
- 在网站根目录下(如/var/www/)建立或编辑 .htaccess文件,加入如下内容:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?YourDomain.com$
RewriteRule ^(/)?$ blog [L]
将YourDomain.com替换成自己的域名,将blog替换成wordpress所在目录的相对路径,修改后无需重启即可生效。
-
如果没有生效,检查apache是否启用了mod_rewrite,可用 sudo a2enmod rewrite 命令启动,可用phpinfo()函数验证。
-
如果还是没有生效的话,检查是否启用了.htaccess,具体方法在这里,翻译如下:
确认访问规则文件是.htaccess,httpd.conf是apache配置文件,linux各发行版有所不同,debian上是/etc/apache2/apache2.conf
grep -i AccessFileName httpd.conf
确认网站根目录下的.htaccess文件未被忽略,如果多个站点的配置文件是分开的,则配置文件应该在/etc/apache2/sites-enabled/下面(debian),如果在根目录的配置节点下找到AllowOverride None字样,则要改成AllowOverride ALL
grep -i AllowOverride httpd.conf
重启apache使配置生效