我想知道是否可以将网址重定向到另一个从数据库获取的特定网址?例如,如果输入www.mydomain.com/page,它将重定向到www.mydomain.com/folder/page,如果输入www.mydomain.com/page2,它将重定向到www.mydomain.com/folder/page2。
我刚刚在404页面中使用以下代码重定向:
<?php
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$page= 'http://www.mydomain.com/page';
if ($url == $page){
header("HTTP/1.1 301 Moved Permanently");
header( 'Location: http://www.mydomain.com/folder/page' ) ;
}
?>
我也用其他多个页面完成了这个。
感谢您的帮助!
答案 0 :(得分:1)
将这些添加到.htaccess文件中。它对我来说很好。
RedirectMatch ^/page$ /folder/page
RewriteRule ^/page /folder/page [L,R=301]
RedirectMatch ^/page2$ /folder/page2
RewriteRule ^/page2 /folder/page2 [L,R=301]
答案 1 :(得分:1)
您只需要在根.htaccess
中使用此规则:
RewriteEngine On
RewriteRule ^([^/]+)/?$ /folder/$1 [L,R=302]
答案 2 :(得分:1)
不确定
你必须先从数据库中获取网址 然后使用php的header函数重定向它
$result = mysql_query('SELECT * FROM `your_table` WHERE `token`= $token');
$row = mysql_fetch_assoc ( $result );
header("Location: page/{$row['url']}");
将your_table
替换为包含重定向规则的表名
但是,如果您的重定向规则始终包含在网址前添加/page
,那么请检查其他答案