我有一个运行 Laravel 3 的站点,它需要在 apache 配置中使用以下重写规则强制 https:
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
这会正确强制 https,但所有 Laravel 路由都返回“未找到”(即未命中 index.php),如果我删除重写规则一切正常。
/public 文件夹中的 .htaccess 对于 Laravel 来说是正常的:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
</IfModule>
# For all files not found in the file system, reroute the request to the
# "index.php" front controller, keeping the query string intact
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>