使用.htaccess阻止直接URL访问

时间:2020-01-10 23:41:22

标签: html

我知道这个问题已经被问过几次了,但是我找不到正确的答案。

我想允许搜索引擎和某些引荐来源访问特定URL,而不允许直接访问URL。

您无法通过单击以下链接来访问此域

2betist.umran.org

当您在Google上搜索此域时,可以通过单击搜索结果链接来访问该网站,但是无法直接通过URL或引荐来源网址访问它。我想在.htaccess中为某些引荐来源网址以及Google和Bing搜索引擎创建白名单。

我希望我能清楚地描述问题。谢谢!

1 个答案:

答案 0 :(得分:0)

我在Google上搜索并发现https://support.acquia.com/hc/en-us/articles/360005257234-Introduction-to-htaccess-rewrite-rules,其中指出:

.htaccess文件控制网站访问,阻止和重定向的多种方式。它使用一系列一个或多个重写规则来执行此操作。通过Apache的mod_rewrite模块可以进行这些重写。

mod_rewrite提供了一种基于正则表达式规则动态修改传入URL请求的方法。这样,您可以按照自己喜欢的任何方式将任意URL映射到内部URL结构上。

任何.htaccess重写规则的基本公式包括:如果先验条件通过,则设置重写条件(RewriteCond)测试与相应规则(RewriteRule)的组合。在大多数情况下,这些规则应放在网站docroot中的.htaccess文件中RewriteEngine行之后的任何位置。

关键是htaccess重写条件和规则。

另一个网站提供了.htaccess文件的示例,以禁止某些引荐来源网址。

RewriteCond %{QUERY_STRING} / [OR]
RewriteCond %{HTTP_REFERER} \.semalt\.com [OR,NC]
RewriteCond %{HTTP_REFERER} best-seo-solution\.com [OR,NC]
RewriteCond %{HTTP_REFERER} best-seo-offer\.com [OR,NC]
...
RewriteCond %{HTTP_USER_AGENT} OrgProbe [OR,NC]
RewriteCond %{HTTP_USER_AGENT} Majestic [NC]
RewriteRule ^.*$ - [F,L]

在这里您可以找到完整的Apache documentation

相关问题