簡體   English   中英

如果請求 URL 在 .htacess 中沒有字符串,如何阻止訪問

[英]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.

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