使用PHP重定向而不是在Cpanel中重定向

时间:2014-03-10 07:28:29

标签: php redirect

可能之前已经问过这个问题,但我似乎找不到令人满意的答案。

我的网站有以下网址:

mywebsite.com/profile.php?id=abc
mywebsite.com/profile.php?id=xyz
mywebsite.com/profile.php?id=mno

我想创建重定向,以便任何输入此网址的人

mywebsite.com/abc will redirect to mywebsite.com/profile.php?id=abc
mywebsite.com/xyz will redirect to mywebsite.com/profile.php?id=xyz
mywebsite.com/mno will redirect to mywebsite.com/profile.php?id=mno

我要将网址输入为mywebsite.com/abc,并在浏览器的地址栏中更改为mywebsite.com/profile.php?id=abc,或保留mywebsite.com/abc。

我知道如何使用Cpanel中的重定向工具来做到这一点 - 但是使用PHP和/或PDO来实现它会更有效率,而不是手动创建每个。

2 个答案:

答案 0 :(得分:1)

我知道您要求使用php方式执行此操作,但您可以使用.htaccess规则轻松执行此操作,您可以添加一条规则,它将适用于您的所有网址:

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

这将实现您的目标:

mywebsite.com/mno将重定向到mywebsite.com/profile.php?id=mno mywebsite.com/abc将重定向到mywebsite.com/profile.php?id=abc mywebsite.com/xyz将重定向到mywebsite.com/profile.php?id=xyz mywebsite.com/mno将重定向到mywebsite.com/profile.php?id=mno

答案 1 :(得分:0)

如果您想从PHP重定向,可以使用标题。例如,在mywebsite.com/abc中创建包含

的index.php
<?php
header("Location: http://mywebsite.com/profile.php?id=abc");
exit;
?>