新闻中心

drupal网站搬家后简洁链接失效的处理办法

作者 / 无忧主机 时间 2012-09-13 04:30:35

无忧主机小编(www.51php.com)处理一个drupal站点从本地wamp调试环境迁移到无忧主机php虚拟主机后简洁链接测试失效的案例,这里就分享给大家如何处理这一个看上去不是问题,但确实又是一个问题的问题。 虽然在前面无忧主机(www.51php.com)发表了一篇使用Clean URLs(简洁链接)实现Drupal伪静态的文章,上面的理论都是不会有错的,只是在实际运用中会出现一些小小问题,为什么呢?因为您本地的环境配置和我们的php空间配置是有区别的。而对于这些小小的区别造成的小问题我们只需要做一些小小的调整,就能让您的drupal站点完美的在香港免备案php独立ip空间上运行。 NOTE:在简洁链接失败的时候http://.../user是进不了网站后台的!需要使用http://.../?q=user这条路径进入后台!下图是简洁链接失败后的显示。 其实解决这个问题的思路,就是对站点下的.htaccess文件的伪静态规则进行调整!在以前发的文章中已经提到过只要支持.htaccess就支持伪静态,而drupal中的clean url说白一点就是伪静态。换句话说,无忧主机的香港php空间是完全支持clean url的。 而且最值得一提的是drupal的.htaccess文件中的伪静态规则都是写好了的,我们只需要把带#的注释删除掉就能启用了,唯一的要求吧,也就是能看懂文件中的英文提示。 好吧,以上都是对问题的分析和简要的对drupal中的.htaccess文件的了解。而解决的方法也是简单的让人感觉到无奈。 本来小编是在默认的.htaccess文件中调试伪静态规则,可是在小编把伪静态相关的内容都删掉以后再进入站点报服务器500错误!好吧,这里的原理小编也不是很清楚,但在注释掉默认的.htaccess文件,在drupal.org官网上找到dreamhost共享主机的伪静态规则,OK,问题解决了。 NOTE:如果使用.htaccess文件实现了伪静态,那么就不必到后台去开启clean url了。 下面是伪静态规则,果断分享了。

<IfModule mod_rewrite.c>

   RewriteEngine on

   RewriteBase /

   RewriteCond %{REQUEST_FILENAME} !-f

   RewriteCond %{REQUEST_FILENAME} !-d

   RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
如果您的站点放在二级目录下(比方说放在../51php这个目录下),只要RewriteBase /51php和RewriteRule ^(.*)$ /51php/index.php?q=$1 [L,QSA]置换掉上列规则中的相应部分,并将它上传到您站点相应的根目录就OK了。

如果你不会新建.htaccess文件请查看:无忧主机总结如何新建.htaccess文件的方法

如果你还不知道htaccess文件是什么东西?为何物?请你点击阅读:无忧主机原创:手把手介绍什么是.htaccess文件

纯Linux环境下高端免备案【香港独立IP地址】php空间,仅仅只需199元一年起。商务中国域名核心代理直销50元注册国际顶级域名

本文地址:https://www.51php.com/drupal/8395.html

1
1
1
1
1
1
1

客户服务热线

0791-8623-3537

在线客服