【问题标题】:Clean URL in drupal 6.20 with IIS6使用 IIS6 在 drupal 6.20 中清理 URL
【发布时间】:2011-06-29 10:15:39
【问题描述】:

我已将我的网站上传到托管公司,配置如下所示

Mysql 5.1.49, PHP 5.2.12, Microsoft-IIS/6.0。

在drupal报告页面中只有一条错误消息 “register_globals 已启用。Drupal 要求禁用此配置指令。启用 register_globals 后,您的站点可能不安全。PHP 手册中有关于如何更改配置设置的说明”。

问题是我无法启用干净的 url 功能,没有此站点链接将无法正常工作!我曾尝试 .htaccess 与我从网上找到的一些组合,但都以否定结果结束。

这可以通过正确的 .htaccess 设置来解决吗? IF 那怎么办?有没有其他方法可以使这个正确。我的托管服务提供商不允许我编辑他们的服务器设置!

请在这件事上帮助我

我有同一个站点在本地运行 apache。


我已经将计划更改为 linux,现在只存在一个问题。标志不显示?我的标志被放置在页面的源代码中。

<a href="/" title="Olives"><img src="/sites/default/files/bluemarine_logo.png" alt="Olives" /></a>

当网站离线时它显示,但当我启用或登录用户时它不显示? 任何对此进行排序的人,将不胜感激。

【问题讨论】:

  • .htaccess 是如何使用 Apache Web 服务器执行此操作的。 IIS 使用完全不同的机制。 (顺便说一句,虽然 Drupal 在 IIS 中运行良好,但它通常更适合 apache 服务器;如果您可以选择这样做并且为时不晚,可能值得切换到基于 Apache 的服务器)
  • 是的,我发现了错误!文件夹中的图像名称是“bluemarine_logo.png”,它是“bluemarine_logo.PNG”,所以只需将文件扩展名重命名为小写字母就可以了!谢谢大家

标签: drupal .htaccess iis-6


【解决方案1】:
  • Microsoft IIS 6 根本不支持 URL 重写。
  • IIS 7 有一个 URL 重写模块(仍然需要单独下载)。
  • IIS 7.5(Windows 7 和 Windows Server 2008 R2)已经捆绑了 URL 重写模块 (v1.x) .. 但您仍想单独将其更新到较新的 v2。

在任何情况下——IIS7 有它自己的格式,它与 .htaccess 不兼容,除非使用了一些第 3 方工具(例如 Helicon Ape)。但是 IIS7可以将 Apache 的 mod_rewrite 规则转换成它自己的格式。

在 Microsoft IIS6 上,您必须安装 Helicon ISAPI_Rewrite v3 或类似软件 -- 它支持 Apache 的 mod_rewrite 的几乎所有功能。

询问您的托管公司那里安装了哪些 URL 重写模块。如果没有 - 询问他们是否可以为您安装一个。如果仍然什么都不需要并且需要 Microsoft 平台——也许搜索使用 IIS7 的主机——它可能已安装并默认启用 URL Rewrite。

编辑: 删除了“坚持 Apache”的句子。

【讨论】:

  • 这个答案的一切都很好,除了最后一句话不是很了解。 Microsoft 在 PHP 社区上花费了很多时间,以确保 PHP 和许多流行的 PHP 应用程序(例如 Drupal)在 IIS6 和 7 上运行良好。我为一个共享的网络托管服务商工作,并且可以保证 PHP+Drupal 等的运行就像在 Windows 上就像在我们的 Linux 平台上一样。与几年前我根本不允许在 Windows 上使用 PHP 的情况相比,这是一个巨大的变化。
  • @Kev 我同意你的看法,因为 IIS 7 是我的主要部署平台(我使用的是 PHP 和 SQL Server 2005/2008)。它在我们的专用/VP 服务器上运行良好。但对于共享主机,我的感受却截然相反。我同意——我的最后一句话措辞并不完美——我应该添加“考虑到您在 URL 重写中的需要以及取决于您的网站的繁忙程度”。微软确实在加速/支持 PHP(包括 WinCache、SQL Server 的 PHP 驱动程序等)方面做得很好。
  • @Kev:Drupal 在 Linux/Apache 环境中更快乐。诸如 Drush 之类的工具具有仅适用于该环境的大量功能,而 Windows/IIS 则无法实现。我知道 Drupal 的人正在研究这个(我相信微软的人也在),但事实仍然是,目前 Drupal 最好在 Linux/Apache 上运行。
  • 你是对的“LazyOne”IIS6 不支持重写模块,我的托管公司还没有准备好安装一个。所以我把计划改成了linux。
  • 现在的问题是我没有得到下面出现的所有横幅显示。我已经清除了缓存并将设置页面更正为正确的 db,.htaccess RewriteBase / 在设置中也启用了 Base url 定义为“mydomain.com”;仍然没有标题。但是,如果我登录,我会得到横幅,但图像显示已损坏,所有布局均已损坏。我怎样才能解决这个问题 ?请帮我整理一下这件事。在状态文件系统路径中显示错误?我在 XAMP windows 工作过,一点 linux 都不懂!谢谢大家的回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多