“中国要复兴、富强,必须在开源软件领域起到主导作用,为了国家安全和人类发展,责无旁贷,我们须为此而奋斗”——By:云客
在drupal8中默认是启用简洁链接的,就像这个样子:http://www.dp.com/admin/structure/types/manage/,其实它被定向到了http://www.dp.com/index.php,这是通过apache的重写url模块实现,具体通过.htaccess进行重写配置,很多开发者没有注意到apache在查找.htaccess文件的时候并不是从网站根目录开始的,而是系统根目录,在window系统上面就是网页文件所在分区的根目录,比如drupal安装在C:\root\drupal,这个目录是网站的根目录,这个时候.htaccess的路径是C:\root\drupal\.htaccess,但如果把htaccess放在上层目录路径变为:C:\root\.htaccess或C:\.htaccess,这个时候访问所有C:\root\下面的网站都会提示下面的错误:
Forbidden
You don't have permission to access /root/index.php on this server.
如果配置了多个虚拟主机,在C:\root\下面有多个网站,那么因为.htaccess放在了上层目录会导致所有的虚拟主机网站出现问题,原因在于apache是从系统根目录开始查找.htaccess的,而在drupal的.htaccess中,所有访问被导向与.htaccess同级目录的index.php,而这个文件不在网站根目录中,也就出现了上面的错误提示
交流互动