让我们假设我有一个静态 HTML 网站“example.com/index.html”,并且我有另一个页面的 URL 为“example.com/contact-us.html”。
有人想直接访问contact-us.html 页面时,在浏览器中输入URL 'example.com/contact-us.html'。但我希望在这种情况下打开索引页。但是一旦网站在带有索引页面的浏览器上加载,用户必须能够按照自己的意愿浏览网站上的链接。
这可能吗 ?如果是,如何?
如果你想阻止用户直接打开索引以外的页面,你可以检查referer,如果referer不匹配你的网站,则重定向到索引页面。
你在用阿帕奇吗?如果你是,你可以使用 mod_rewrite 来做到这一点。
首先,启用 mod_rewrite,通常通过在文件中取消注释以下行httpd.conf
:
LoadModule rewrite_module modules/mod_rewrite.so
然后在与以下内容.htaccess
相同的文件夹中创建一个文件:index.html
RewriteEngine on
RewriteRule ^index.html$ index.html [QSA,L]
RewriteCond %{HTTP_REFERER} !^http://example\.com/.*$
RewriteRule ^.*$ /index.html [R,L]