我有一個網站,它依賴於htaccess的重寫規則,我重寫我的網址與這樣的順序:htaccess的重寫規則顯示錯誤在我的錯誤日誌文件
www.example.com/games/car/play/123
其實沒有目錄爲:
- 遊戲
- 車
- 發揮
我每天都在看我的錯誤日誌中顯示錯誤噸線(S)的說:
File does not exist: /home/example.com/public_html/games
File does not exist: /home/example.com/public_html/car
File does not exist: /home/example.com/public_html/play
我不知道爲什麼阿帕奇考慮這些假冒的目錄,實際真正的目錄?我在我的htaccess的重寫這些代碼行:
RewriteEngine On
RewriteBase/
RewriteRule ^games/([a-zA-Z0-9-/]+)/play/(.*)$ details.php?slug=$1&id=$2
現在Apache的考慮:遊戲/蛞蝓/播放/ id作爲目錄,它不只是一個假的URL序列。此外,當我走下來的下部頁:
www.example.com/games/car 而 www.example.com/games
它已經存在的URL,但不是一個目錄我看到一個錯誤日誌說:
File does not exist: /home/example.com/public_html/games/car
File does not exist: /home/example.com/public_html/games
我該如何解決這個問題?我已經嘗試了一切可能,但仍然在我的錯誤日誌中出現大量錯誤。
非常感謝(對不起我的英文不好)。
在你的access.log你看到'/ games'或'/ play'等請求嗎? – anubhava
「我不知道Apache爲什麼將這些假目錄當作真實的目錄?」 - 因爲您的'RewriteRule' _pattern_與任何這些網址都不匹配,您或其他人都鏈接到這些網址。如果模式不匹配,那麼Apache別無選擇,只能嘗試請求'/ games'或'/ car'等,這自然會觸發404 Not Found。這些其他網址是否應該有效?如果是的話,他們應該怎樣映射? – MrWhite
@anubhava,是的,我看到/遊戲或/玩太多的日誌錯誤。這些網址是有效的,並且映射到該頁面的category slug:category_details.php,但是for/play它不映射到任何內容。 –