.htaccess隐藏带有404页面的页面

时间:2014-05-12 17:03:58

标签: apache .htaccess mod-rewrite redirect

我的服务器上有一个或多个文件要暂时或永久隐藏用户和搜索引擎使用.htaccess将这些页面重定向到404页面。这意味着尝试查看页面的任何用户或搜索引擎机器人都会看到404页面。

以下是我添加到.htaccess文件中以将某些文件重定向到404页面的行,但它似乎不起作用:

RedirectMatch 404 antalya_apartment.php?bid=2&page=236
RedirectMatch 404 antalya_apartment.php?bid=3&page=129

以下是.htaccess代码:

Options  +FollowSymLinks +Indexes +MultiViews

RewriteCond %{QUERY_STRING} (^|&)bid=2(&|$)
RewriteCond %{QUERY_STRING} (^|&)page=236(&|$)
RewriteCond %{QUERY_STRING} (^|&)bid=3(&|$)
RewriteCond %{QUERY_STRING} (^|&)page=129(&|$)
RewriteRule ^/antalya_apartment.php?$ http://turkish-property-world.com/ [L,R=404]

1 个答案:

答案 0 :(得分:1)

由于网址中的查询字符串,简单的RedirectMatch将无效。请尝试使用RewriteRuleRewriteCond

RewriteEngine On
RewriteCond %{QUERY_STRING} (^|&)bid=2(&|$)
RewriteCond %{QUERY_STRING} (^|&)page=236(&|$)
RewriteCond %{QUERY_STRING} (^|&)bid=3(&|$)
RewriteCond %{QUERY_STRING} (^|&)page=129(&|$)
RewriteRule ^/antalya_apartment.php?$ http://your.sites.domain.name.here/ [L,R=404]

注意我设置了http://your.sites.domain.name.here/的目的地 - 据我所知 - 如果没有目的地,您无法真正重定向。但是,如果有一种方法可以让它降至零或默认404 - 没有指明我想知道的目的地。

编辑:此外,您的Apache甚至会解析.htaccess规则吗? AllowOveride设置为All吗?请查看the official Apache documentation了解更多详情。