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

标签 php mysql .htaccess

这是我想做的:

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

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

  • advert1 作为字符串存储在 cookie 中

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

    <

这可能吗?

最佳答案

您需要创建所有请求都定向到外部脚本的规则。 然后服务器脚本可能会查找数据库、设置 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 = '"的 sql 查询。 mysql_real_escape_string($ad_string) 。 "'" 这应该为您的查询整理出您的网址。然后使用 元重定向javascript 重定向 甚至 header 301 重定向。

关于php - htaccess 重定向基于存储在数据库中的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6765299/

相关文章:

javascript - 检查javascript中的多维数组输入

mysql - 在 MySQL 中存储多个属性

php - 提交此表单时如何向用户隐藏 URL?

apache - Silex 位于本地主机 : "Sorry, the page you are looking for could not be found" 上的子目录中

.htaccess - domain.com 神秘重定向到 https ://www. domain.com - 可能是什么原因造成的?

php - 如何获取mysql中具有相同值的记录数最多的值

php - 如何使用php删除get id url中的空格

php - 构建多维然后添加到Table中

mysql - 从mysql中选择不等于

php - 使用 php 的剩余时间脚本