是否可以通過保護單個網站的URL或多個被手動更改?htaccess:保護手動重寫URL地址
實施例:
www.example.com/here-is-example-url/1234/page/
- 這是正確的URL
www.example.com/here-is-example
- 壞URL(手動改變的) 或
www.example.com/here-is-
- 壞URL(手動改變的) 或
www.example.com/here-is-example-2
- 不良網址(手動更改)
目前我確實將這些修改後的地址重定向到了主頁,最後RewriteRule,但我更願意看到一些解決方案來檢測URL的手動更改並阻止訪問這些訪問者。
什麼重寫規則或RewriteCond會阻止這?
這裏是我到目前爲止有:
#redirect to canonical url if no ending slash
RewriteRule ^([A-Za-z0-9-]+)/([0-9]+)/page$ $1/$2/page/ [R,L]
#redirect to canonical url if anything behind slash
RewriteRule ^([A-Za-z0-9-]+)/([0-9]+)/page/(.+)$ $1/$2/page/ [R,L]
#rewrite to PHP file if visiting the canonical url
RewriteRule ^([A-Za-z0-9-]+)/([0-9]+)/page/$ page.php?val1=$1&val2=$2 [L]
#redirect to Homepage url if no other rule match with missing ending slash
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) http://www.domain.com/ [R,L]
在這種情況下,不能被一些重寫規則來解決是有可能這樣的行爲重定向到500次訪問被拒絕?
讓我們在這裏備份一下。它會使這些URL產生錯誤的目的是什麼? (是否有某些原因可以讓你特別*要*告訴這些用戶離開?) – duskwuff
@duskwuff我想顯示500個訪問被拒絕給任何人,如果他們手動修改URL的話。因此,作爲最後一個條件和規則,如果缺少結束斜線,用戶將重定向到主頁 - 如何調整該條件和規則以使其[F,L] - 基於條件拒絕訪問而不是重定向到主頁? –