簡體   English   中英

如何在.htaccess中編寫這個404規則

[英]how to write this 404 rule in .htaccess

我有一個自定義CMS。 除了一件事,它的效果非常好。 我想知道如何最好地實現404功能。 該網站應該只有以下網址類型

index.php?upn=something

要么

gallery.php?groupId=2

在index.php或gallery.php之后附加到url的任何目錄都應拋出404。 如果在指定upn時在數據庫中找不到內容,我還想拋出404。 我意識到我可以在php中拋出標題。 但我說我會嘗試更全面地了解這個問題。 所以如果你有任何信息或指示我會感激他們。

你必須在php代碼中返回404,但你可以在htaccess中設置404處理程序:

ErrorDocument 404 /errors/notfound.html

我喜歡從我的PHP代碼以編程方式執行此操作。 你可以編寫一些簡單的Route Component,試圖找到你想要的東西。 今天你只是路由到行動( index.php?upn=gallery.php?groupId= )但是將來有一天你可能會添加新的,你應該改變你的.htaccess,這更難。 如果您在應用層中完成所有操作,則可以更簡單地進行更改。

將此代碼粘貼到項目根目錄下的.htaccess文件中,並將每個請求路由到router.php。 收到請求后,您可以決定要執行的操作。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ router.php?url=$1 [QSA,L]
</IfModule>

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM