-1
快速问题,有没有一种方法来清理URL的现有网站?我的意思是让我们说我有这样http://www.webawwards.com/website?id=320一个现有的链接,但我想让它http://www.webawwards.com/terna清理现有网站的URL
有没有一种方法,我可以清理该网址,但也如果有任何现有链接到当前URL的链接仍然会去通过?
请问您能指导我正确的方法吗?谢谢
快速问题,有没有一种方法来清理URL的现有网站?我的意思是让我们说我有这样http://www.webawwards.com/website?id=320一个现有的链接,但我想让它http://www.webawwards.com/terna清理现有网站的URL
有没有一种方法,我可以清理该网址,但也如果有任何现有链接到当前URL的链接仍然会去通过?
请问您能指导我正确的方法吗?谢谢
如果你想硬编码的URL到您的.htaccess
文件,你可以简单地设置静态重定向:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{QUERY_STRING} ^id=320(.*)$
RewriteRule /website$ /terna [L,NC]
RewriteCond %{QUERY_STRING} ^id=321(.*)$
RewriteRule /website$ /somewhere-else [L,NC]
</IfModule>
不过,如果你想让它更灵活(也许让人们改变自己重定向或类似),你需要将其存储在数据库中(redirects
表的website_id, redirect_url
列),那么当有人询问,做到这一点(伪代码):
if (isset(queryString['id']))
query(SELECT redirect_url FROM redirects WHERE website_id = queryString['id'])
redirectTo(redirect_url);
exit
在PHP中,实际的重定向会做w第header('Location: ' . $redirect);
,查询部分应该很容易。
如果我在你的例子中使用.htaccess,但页面是动态生成的? – TonyS 2014-09-23 10:02:14
您可以等到页面生成后手动添加htaccess规则,也可以使用PHP选项等动态选项。 htaccess不能做动态重定向,所以你需要硬编码每一个 – Joe 2014-09-23 10:03:26