我如何可以重定向用GET参数的URL到正规网址:的.htaccess:重定向与GET参数的URL
从
/index.php?cid=100&id=550&Itemid=1084
到
/my-page
我想:
Redirect 301 /index.php?cid=100&id=550&Itemid=1084 /my-page
但我没有工作
我如何可以重定向用GET参数的URL到正规网址:的.htaccess:重定向与GET参数的URL
从
/index.php?cid=100&id=550&Itemid=1084
到
/my-page
我想:
Redirect 301 /index.php?cid=100&id=550&Itemid=1084 /my-page
但我没有工作
如果,你在你的评论要求上面,做不需要在目标要求的查询参数,你可以做一个简单的重定向:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^cid=100&id=550&Itemid=1084$
RewriteRule ^/?index.php$ /my-page [R=301]
这条规则将在HTTP服务器主机工作配置,同样在动态配置文件(.htaccess
样式文件)中。
如果你想匹配模式是有点更灵活,所以接受任意数字,而不仅仅是正是你在问题中指定的,那么你可以使用稍微修改条件:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^cid=\d+&id=\d+&Itemid=\d+$
RewriteRule ^/?index.php$ /my-page [R=301]
一般提示:您应该始终将这些规则放置在http服务器(虚拟)主机配置中,而不是使用动态配置文件(.htaccess
样式文件)。这些文件出了名的错误,很难调试,他们真的放慢了服务器。它们仅提供作为的情况下最后的选择,你没有对主机配置控制(读:真的很便宜的托管服务提供商),或者如果你有依赖于写自己的重写规则(这是一个明显的安全恶梦的应用)。
这就是我需要的!谢谢你的提示。 – christophefongemie
欢迎您! ;-) – arkascha
您当然可以将这样的请求重定向到该目标URL,但是您肯定会失去那些获取第一个URL中存在的参数。我怀疑这是你想要的... – arkascha
不,我不需要这个得到论据 – christophefongemie