2014-09-23 33 views
6

在Apache/Linux服務器上,如果用戶在頁面名稱後面輸入尾部「/」(或任何位於「/」後的任何內容),如何將用戶重定向到錯誤404頁面?如果用戶在頁面名稱後輸入尾部「/」(或任何位於「/」之後的內容),我該如何將用戶重定向到錯誤404頁面?

例如,這個URL應該直接到一個錯誤頁面:

http://www.example.com/contactus.php/someextrastuffhere 

然而,該網址不得:

http://www.example.com/contactus.php?name=john+smith&[email protected] 

然而,後者URL打破我的網站。

這可以用簡單的.htaccess指令解決嗎?

+0

我想你已經設置了某種過濾器。它是PHP,.htaccess ..?也包括在你的問題的描述,所以我們可以檢查出來;) – tfrascaroli 2014-09-23 14:21:59

回答

3

你可以有這個規則爲你的第一個規則,在你的根的.htaccess:

RewriteRule ^.+?\.(php|html?)/ - [L,R=404,NC] 

這將發送任何/file.php/foo請求404,而http://www.example.com/contactus.php?name=john+smith&[email protected]不會受到影響。

+0

當然@ @ arco444,我打錯了。謝謝! – anubhava 2014-09-23 15:01:11

+0

它看起來好像只適用於.php頁面,不包括.html,.htm。我對嗎?如何修改它以包含後者。 – 2014-09-23 21:04:54

+0

好的檢查更新後的規則。 – anubhava 2014-09-23 21:19:48

相關問題