猿问

如何将 HTTP_REFERER 转发到 htaccess 的页面?

当有人点击我的站点根文件夹 (www.myDomain.com) 并且 Index.php 页面之后获取它时,我如何将 HTTP_REFERER 转发到 Index.php 页面以便我可以记录它?


我有这个但没有快乐。


RewriteEngine On

RewriteCond %{HTTP_REFERER} !^mydomain.com [NC]

RewriteRule ^/?index.php?%{HTTP_REFERER}$ mydomain.com/ [L,R]

谢谢


慕丝7291255
浏览 68回答 1
1回答

智慧大石

确保启用 apache mod_rewrite。然后重定向:<IfModule mod_rewrite.c>&nbsp; &nbsp; # Make sure url's can be rewritten.&nbsp; &nbsp; RewriteEngine on&nbsp; &nbsp; # Redirect requests that are not files or directories to index.php.&nbsp; &nbsp; RewriteCond %{REQUEST_FILENAME} !-f&nbsp; &nbsp; RewriteCond %{REQUEST_FILENAME} !-d&nbsp; &nbsp; RewriteRule ^ index.php [L]</IfModule>这就是大多数 CMS 的做法。这确实意味着如果他们将直接路径写入文件,他们将看到该文件。所以你会想在这之前加上类似的东西:# Prevent direct access to these file types.<FilesMatch "\.(sql|md|sh|scss|rb|conf|rc|tpl(\.php)?|lib(\.php)?|wig(\.php)?|pg(\.php)?|reg(\.php)?|db(\.php)?)$">&nbsp; Require all denied</FilesMatch>这意味着他们无法访问上面列出的文件扩展名。您可以将最后几个替换为 justrc|php但我允许访问 .php 文件而不是 .lib 以便我可以执行受浏览器身份验证保护的脚本以进行调试和银弹数据库修复。你还必须在你的 apache 配置中有这样的东西,允许在你的站点目录中读取 .htaccess。<Directory "C:/Sites">&nbsp; &nbsp; AllowOverride All</Directory>
随时随地看视频慕课网APP
我要回答