Mod_rewrite不能在ISPConfig 3服务器上工作

问题

我最近将一个Drupal站点从一个共享托pipe服务器迁移到了我自己的虚拟机上。 一切似乎正常工作,除了干净的url。

我的虚拟机设置

  • Ubuntu 10.04
  • ISPConfig 3

我试过了

从一些drupal论坛上阅读,我已经尝试了以下顺序

  1. 检查mod_rewrite是否已安装并启用
  2. 将PHP从FastCGI更改为Mod_PHP(尽pipe使用FastCGI或suPHP以避免拥有777权限的tmp / files文件夹)
  3. 在ISPConfig Sites-> domain.com-> Redirect中将redirecttypes更改为L.
  4. 更改了/ etc / apache2 / sites-enabled / 000-default

    <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All ... </Directory> 

不确定关于点3和4,我希望所有域能够使用mod_rewrite开箱即用。

我做错了什么,或者我错过了一个步骤? 最终,我想使用FastCGI和干净的URL在所有ISPConfig 3域上工作,而不必对个别域设置进行任何更改。

任何想法赞赏,我会尝试所有。

ISPConfig 3手册说:

快速CGI:

优点:

  • 脚本将以网站的用户权限执行;
  • FastCGI可以运行多个PHP版本;
  • 与CGI和suPHP相比速度可能会更快。

缺点:

  • php.ini值不能通过PHP脚本,vhost文件,.htaccess文件进行更改。 但是可以使用ISPConfig中网站的Options选项卡上的Custom php.ini设置字段来指定自定义的php.ini设置(见章节4.6.1.1)。

相反.htaccess文件使用ISPConfig的Apache指令:

网站 – >网站 – > Web域 – >选项选项卡

Apache指令:

 DirectoryIndex index.php

重写引擎
 RewriteCond%{DOCUMENT_ROOT}%{REQUEST_FILENAME}!-f
 RewriteCond%{DOCUMENT_ROOT}%{REQUEST_FILENAME}!-d
 RewriteCond%{REQUEST_URI}!= / favicon.ico
 RewriteRule ^(。*)$ /index.php?q=$1 [L,QSA]

Drupal 6 INSTALL.txt说:

如果默认的Drupal主题显示不正确,页面上的链接会导致“Page Not Found”错误,请尝试在settings.php文件中手动设置$ base_urlvariables(如果尚未设置)。 目前已知运行FastCGI的服务器可能会遇到问题,如果$ base_urlvariables被留下注释(参见http://bugs.php.net/bug.php?id=19656 )。

ISPConfig中的redirect选项卡仅用于域redirect,不适用于像Drupal这样的特定应用程序。

你有没有检查.htaccess文件是否被识别为指令?

你应该在全局apache2 conf中find这样的一个