Htaccess和重写/拒绝

时间:2014-04-12 12:00:03

标签: apache .htaccess mod-rewrite

有没有办法拒绝使用一个URL访问文件,但是允许使用另一个访问?

示例:

实际的网址是www.domain.com/index.php,但我想拒绝使用该网址进行访问,但我仍然希望能够使用www.domain.com/index.php/somestring <来显示该文件/ p>

这可能吗?

1 个答案:

答案 0 :(得分:0)

使用存储在数据库中的字符串代替生成 .htaccess,最好不要编写.htaccess文件,以便将“somestring”视为GET变量。然后,您将检查数据库中是否存在“somestring”,如果是,则显示该页面。否则,你做一个php头重定向。

的.htaccess

RewriteRule ^index.php/([^/]*)$ /index.php?id=$1 [L]

首先在index.php中抓取GET变量,检查它是否存在于数据库中,如果存在,则显示页面。否则,您可以使用标题重定向将用户发送到其他页面。

$id = $_GET['id'];  // You will probably want to escape this

然后,将整个页面包装在if语句中,只有在数据库中存在id时才显示页面。