htaccess重定向基于存储在数据库中的URL

时间:2011-07-20 16:32:39

标签: php mysql .htaccess

这是我想要做的:

  • 用户从www.mysite.com/advert1进入我的网站(文件夹advert1不存在)

  • .htaccess然后删除www.mysite.com/,只留下advert1

  • advert1存储为Cookie中的字符串

  • 在数据库中查找advert1,然后将用户重定向到数据库中指定的网址,例如mysite.com/news

这可能吗?

1 个答案:

答案 0 :(得分:5)

您需要创建规则,将所有请求定向到外部脚本。 然后,服务器脚本可以查找数据库,设置cookie和重定向。 .htaccess本身不能这样做,除非你为apache编写一个扩展,这可能超出你现在需要的应用程序的范围。

现在只需通过

将所有请求重定向到脚本
RewriteRule ^([A-Za-z0-9-])$ /advert.php?id=$1 [L]

您可以使用$ad_string = $_GET["id"];获取$ ad_string变量中的广告字符串。然后,您可以使用mysql_connect()建立与数据库的连接,然后运行像"SELECT * FROM advert_table WHERE id = '" . mysql_real_escape_string($ad_string) . "'"这样的SQL查询。这应该为您的查询排序。然后使用meta redirectjavascript redirect甚至是header 301 redirect.