如何重定向以下长链接:
到
http://www.vbpmonitor.com/optimizing-vbm-quality-tiering-for-physicians
Redirect 301 /index.php?option=com_content&view=article&id=24&utm_source=MagnetMail&utm_medium=email&utm_term=asmith@panaceainc.com&utm_content=EVVWP040716&utm_campaign=White%20Paper%3A%20Optimizing%20VBM%20Quality%20Tiering%20for%20Physicians http://www.vbpmonitor.com/optimizing-vbm-quality-tiering-for-physicians
答案 0 :(得分:1)
正如上面评论中所说的那样,我怀疑你的逻辑在这里有一个小故障,实际上你想要重定向到另一种方式工作。从长整型重定向到搜索引擎友好的URL根本没有任何意义。所以:
使用Redirect
规则可以尝试改为:
Redirect 301 /optimizing-vbm-quality-tiering-for-physicians /index.php?option=com_content&view=article&id=24&utm_source=MagnetMail&utm_medium=email&utm_term=asmith@panaceainc.com&utm_content=EVVWP040716&utm_campaign=White%20Paper%3A%20Optimizing%20VBM%20Quality%20Tiering%20for%20Physicians
这会将传入的请求重定向到实际存在的长URL的短URL。这是通常的情况。
但是,如果您确实想要将该短网址重定向到长版本,那么您无法使用Redirect
规则执行此操作。例如,如果您不小心发送了那个长URL并且为短版本设置了有效的重定向设置,则可能就是这种情况。不幸的是,你没有在你的问题或评论中解释任何相关内容,因此我只能猜测。
您必须使用更灵活的重写模块,并使用RewriteCond
和RewriteRule
的组合。这允许"切断"请求URL的特定模式以及重新设计"重写后请求应该如何。
这是一个简单的示例,它应用两个条件将文件index.php
的请求重写为长URL:
RewriteEngine on
RewriteCond %{QUERY_STRING} view=article
RewriteCond %{QUERY_STRING} id=24
RewriteRule ^/?index\.php$ /optimizing-vbm-quality-tiering-for-physicians [L,R=301]
注意:此版本既可以在http服务器主机配置中使用,也可以在那些.htaccess
样式文件中使用。如果您有权访问,总是应该选择第一个选项。
如上所述,我只能使用您提供的稀疏信息猜测。我从许多请求参数中选择了两个,因为这些参数似乎是最适合作为不同标识符的参数。但你可能不得不调整一些事情。请注意,默认RewriteCond
由逻辑AND
组合,因此两者都必须解决问题。
有关这些内容的更多详细信息,我想再次向您指出这些模块的官方文档。文档非常精确,编写得很好,附带了很好的例子。我总是更喜欢那里的信息,你可以在互联网上的某个地方找到片段或者问题的部分答案......