我很困惑,為什么這沒有用。當我使用一個在線.htaccess驗證器時,一切都很正常。它按預期作業。然而,同樣的.htaccess在生產服務器上得到了404回應。
RewriteEngine On
重寫基礎 /
RewriteCond %{REQUEST_FILENAME}! !-f
獎勵的是%{REQUEST_FILENAME}! !-d
RewriteRule ^api/(.*)$ api/index.php?_REQUEST=$1 [NC,L]
在000-default.conf
<Directory /var/www/html>
選項 索引 FollowSymLinks 多視圖
允許覆寫所有
Require all granted
</Directory>
對于一些背景。該網站使用一個子域。它運行在AWS EC2實體上,配備Ubuntu 20.04.2 LTS、Apache2 2.4.41和PHP 7.4.3
。這個完全相同的配置在另一個實體上運行良好,唯一的區別是子域。所期望的結果是:
subdomain.example/api/data/data改寫為subdomain.example/api/index.php?querystring
將data/data作為一個querystring發送。雖然我不是.htaccess專家,但我很困惑,為什么這不作業,而且產生404.
uj5u.com熱心網友回復:
解決方案。 確保你沒有在你試圖重寫的實際目錄中留下相同的.htaccess檔案。在這種情況下,api/。洗掉錯誤的.htaccess檔案并重啟apache就解決了這個問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/310726.html
標籤:
