【发布时间】:2013-05-16 19:02:42
【问题描述】:
我花了大约四个小时试图让干净的 URL 正常工作,这真的让我深有体会。我对 Drupal 非常是新手,在听到所有关于它的精彩内容后,这是令人失望。这是我的设置:
我有XAMPP on windows 7,并将Drupal 7.22 安装到文件夹c:\code\drupal
在我的 httpd.conf 中,我有 Alias /code "C:\code" 这很有效,因为我在 c:\code 中还有其他文件夹运行良好
drupal .htaccess 文件有效,因为如果我在其中添加垃圾行,我会收到服务器错误
在.htaccess我尝试了RewriteBase我能想到的所有组合:
RewriteBase /
RewriteBase /code
RewriteBase /code/drupal
RewriteBase /drupal
mod_rewrite 有效,因为我已经有其他正确使用它的安装。
我也试过直接去http://localhost/code/drupal/admin/config/search/clean-urls,但这给了我404 error
每次我回到admin > config > clean URLS,它都说测试失败。我知道这显然是我这边的一些错误,但它变得非常令人沮丧。谁能看到我在这里想念的东西? :(
- 我在 SO 中阅读了所有类似的问题,但他们的解决方案确实如此 不适合我。
- 我也在
drupal.stackexchange.com发布了这个 但没有得到任何答案。 - 自 SO PHP 以来,我将其发布在这里 社区更加活跃,无疑有很多人知道 深入了解drupal。
- 我真的希望有人能帮我解决这个问题...
【问题讨论】:
-
如果您查看显示该主机请求的错误日志,是否正在重写 URL?或者它是在不给它重写规则的情况下询问 url?
-
它没有重写规则。它使用常规 URL 访问 drupal 页面并给出 200 响应。常规 URL 给出一条消息,指出无法启用重写。在线文档建议了我在上面的问题中尝试过的所有东西 - 但无济于事。并且该条目在 access.log 而不是 error.log 中,因为本身没有错误..
-
尝试用类似
RewriteEngine on RewriteBase / RewriteRule ^.*$ http://google.com这样简单的东西替换整个.htaccess 是否会将您重定向到google.com?您也可以尝试为 rewrite 模块编写日志文件,只需将以下内容添加到您的 httpd.conf 文件中:RewriteLog "/home/rewrite.log" RewriteLogLevel 9也许日志中会有一些有趣的东西:) -
@tulvit:感谢您的建议。 1) 是的,它重定向到 google.com。 2) 我在 httpd.conf 中添加了一行,重新启动服务器并尝试访问 url,但文件 rewrite.log 没有被创建。 error.log 也没有说明任何内容...
-
实际上 - 我错了,它正在创建 rewrite.log(我给出了不存在的文件路径)。让我检查一下,然后再回来!谢谢你,你摇滚!!!
标签: php drupal mod-rewrite clean-urls