我已经修改了我的Debian 9安装(Apache 2.4.25)以允许HTTP / 2支持。
我已经成功地在线检查了它,并且页面[[do可以使用,但是问题在于在.htaccess中执行的重定向,例如将site.com/index.php/brands/mybrand映射到一个不错的URL (site.com/brands/mybrand)。它根本不会发生。这是一个Codeigniter设置。
a2dismod php7.2
和mpm_prefork
)并且启用了支持HTTP / 2的mpm模块(a2enmod mpm_event
,但我也尝试过mpm_worker
)时。 编辑:详细的日志向我显示此错误:AH01071:得到错误“主脚本未知\ n”,引荐来源:https://sitename.com/brands/
我的.htaccess(在index.php所在的品牌目录中)与以前的配置配合良好,是:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</IfModule>
<IfModule mod_headers.c>
<FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
IndexOptions +Charset=UTF-8
我的/etc/apache2/sites-enabled/default-ssl.conf相关内容包括:
<VirtualHost _default_:443> # even without enabling here h2c or h2 I get the error Protocols http/1.1 <Directory "/var/www/html"> Options Indexes FollowSymLinks MultiViews AllowOverride All # since apache 2.4 Require all granted </Directory> </VirtualHost>
注意:我之前运行的用于启用所需其他模块的其他命令如下。我无需进行任何操作即可恢复到正常的工作(非HTTP / 2)配置:
apt-get install php7.2-fpm a2enmod proxy_fcgi setenvif a2enconf php7.2-fpm
a2disconf php7.2-fpm
禁用该php-fpm配置。并在httpd.conf文件中添加以下内容,这应该可以工作:<FilesMatch "\.php$">
SetHandler "proxy:fcgi://localhost:9000"
</FilesMatch>
ProxyErrorOverride On
重新启动Apache和PHP-FPM(可能不需要重新启动PHP-FPM,但是必须重新启动Apache)。立即启用HTTP / 2,可能应该可以使用。