[英]How prevent access if the request URL doesn't have string in .htacess
我有一個別名域名,我不希望它加載網站。 如果請求 URL 具有特定字符串,我只希望我的別名域能夠訪問。
示例: www.myalias.com/pass/whatever/here
我正在查看的字符串是“pass” 如果請求 URL 在那里有“pass”,則允許訪問該網站,否則返回 404 錯誤。
該規則將檢查域名是否等於“myalias.com”,然后檢查請求 URL 中是否存在字符串“pass”。
如何將其寫入 .htaccess 中的規則?
聽起來很簡單:您檢查 http 主機、pass 的存在並根據需要做出反應:
這拒絕請求
RewriteEngine on
RewriteCond %{HTTP_HOST} ^alias\.example\.com$
RewriteCond %{REQUEST_URI} !^/pass/
RewriteRule ^ - [F]
那個發送一個自定義的 http 狀態(這里是 403):
RewriteEngine on
RewriteCond %{HTTP_HOST} ^alias\.example\.com$
RewriteCond %{REQUEST_URI} !^/pass/
RewriteRule ^ - [R=403]
或者您可以將客戶重定向到您想要的任何地方:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^alias\.example\.com$
RewriteCond %{REQUEST_URI} !^/pass/
RewriteRule ^ https://example.com/ [R=301]
您顯然需要在 http 服務器中加載重寫模塊。 通常,此類規則應在實際 http 服務器的主機配置中實現。 如果您真的想使用分布式配置文件(“.htaccess”),您需要先啟用它的解釋(請參閱AllowOverride
指令的文檔)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.