【问题标题】:Help needed with mod_rewrite and htaccess for DrupalDrupal 的 mod_rewrite 和 htaccess 需要帮助
【发布时间】:2010-09-26 07:50:01
【问题描述】:

我想在我的服务器上启用 .htaccess 文件,以便在 Drupal 中使用“clean_url”功能。

这是我到目前为止所做的:

sudo a2enmod rewrite
sudo /etc/init.d/apache2 restart
cd /etc/apache2/mods-enabled
grep mod_rewrite *

在 phpinfo() 结果中我可以看到:mod_rewrite,所以我猜该模块已启用。

我添加了一个 htaccess 文件,内容如下:

<IfModule mod_rewrite.c>
  RewriteEngine on

  RewriteBase /path/to/website

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>

但它仍然说我的服务器不提供这样的功能。我错过了什么?

【问题讨论】:

  • “仍然说我的服务器不提供这样的功能”是什么意思?
  • 呃,抱歉确实不清楚。 Drupal 会通知您是否可以打开“干净的 url”,检查是否启用了 url 重写
  • 我的意思是它不起作用。
  • 嗯..别人是having the same problem。出于好奇,您是否正在运行相同的 Drupal 版本?
  • 是的 6.19 但我不认为它是 Drupal。同一网站在另一台服务器上使用 htaccess 文件。我想我错过了一些服务器配置步骤。

标签: apache drupal .htaccess mod-rewrite drupal-6


【解决方案1】:

请务必检查您的服务器或VirtualHost 的配置,以确保将AllowOverrides 设置为All。如果不是,您的 .htaccess 中的任何内容都不会被读取或执行。

【讨论】: