[英]page redirecting to 404
我有一個名為 example.com 的不同語言的網站
當我調用 example.com/en - 它打開 eng 版本
如果我寫 example.com/fr - 它會打開法語版本
它是一個一頁的項目。 所以所有內容都包含在 index.php 中。 我讀了 url,展開它,然后我得到了請求的語言。 在本地機器上一切正常
在我的服務器上,如果我調用 example.com/en - 它會嘗試打開一條不存在的路徑,然后出現 404 錯誤
我必須做什么才能讓我的代碼像在本地機器上一樣工作?
要開始調試您的問題,請使用您瀏覽器的開發人員菜單……讓您看到 .network 請求的菜單。”
有了它,您將很快能夠准確地看到從服務器請求的 URL 是什么,並且您將看到返回的404
響應。
所以,您的第一個檢查是:*“好吧,那是我期望被請求的 URL 嗎?”*
然后,如果是,請檢查服務器端代碼以確定它無法匹配 URL 的原因。
還請記住,當您的網絡瀏覽器客戶端請求諸如blahblah/fr
之類的內容時,該/fr
位將被(例如 Apache)視為不同的<Location>
。 仔細查看您選擇的 Web 服務器的配置文檔,以確保它知道如何處理它將看到的 URL。 (有幾種方法可以做到這一點,所以我真的不能更具體,因為你沒有給我們任何關於你的服務器端設置的線索......)
請在.htaccess 中添加以下內容:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
注意:如果您的 web 主機不允許 FollowSymlinks 選項,請嘗試將其替換為 Options +SymLinksIfOwnerMatch。
這基本上是適用於 Laravel 框架的配置。 但是,它也應該適用於您,但您需要在第三個重寫規則中正確設置路徑。
錯誤 404 消息的典型觸發是當網站內容已被刪除或移動到另一個 URL 時。還有其他原因可能會出現錯誤消息。 這些包括:
為了解決這些問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.