我的laravel應用程序在localhost上運行良好,但現在已將應用程序移至生產服務器,它不再識別通過URL傳遞的任何$ _GET變量。我的生產服務器設置爲允許多個laravel安裝,並且我正在使用位於laravel根目錄中的vhost.conf文件和.htaccess文件處理重寫。
的.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /international-experts/index.php/?$1 [L]
</IfModule>
vhost.conf
Alias /international-experts "/srv/http/international-experts/public"
<Directory /srv/http/international-experts>
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride AuthConfig FileInfo Indexes
Order allow,deny
Allow from all
</Directory>
我做了什麼,以測試它與多頁的print_r($ _ GET)。沒有。閱讀這個問題,聽起來像MultiViews可能是問題的一部分。我知道我不是唯一一個在同一臺服務器上處理多個laravel安裝的人......有其他人必須解決這個問題嗎?
感謝
爲什麼'Options -MultiViews'被註釋掉了? – anubhava
它在laravel提供的默認.htaccess文件中被註釋掉了。我試着在mod_rewrite的內部和外部啓用它。可能只是不必要的。 – aceslowman
檢查您的服務器日誌並確保重定向仍然正確連接了查詢字符串 – Deinumite