如果存在特定单词,则重写URL

时间:2014-05-26 22:16:49

标签: rewrite

您好我对重写感到困惑,我想在url中存在一个特定的单词,例如uniquenumber域更改,例如当有人键入domain.com/br/news.php?uniquenumder=1然后更改在newdomain.com/br/news.php?uniquenumber=1。唯一的变化是从domain.com到newdomain的域名。

1 个答案:

答案 0 :(得分:0)

我假设你在谈论apache和mod_rewrite模块。

来自apache docs http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritecond

  

RewriteCond指令定义规则条件。一个或多个   RewriteCond可以在RewriteRule指令之前。以下规则是   然后仅在URI的当前状态与其匹配时使用   模式,如果满足这些条件。

请看以下示例

<VirtualHost *:80>
    DocumentRoot /www/domain.com
    ServerName domain.com
    RewriteEngine On
    RewriteCond  %{QUERY_STRING} ^uniquenumber=1$    
    RewriteRule  .* http://one.domain.com/?      [L,R=301]
    RewriteCond  %{QUERY_STRING} ^uniquenumber=2$    
    RewriteRule  .* http://two.domain.com/?      [L,R=301]
    # ...
</VirtualHost>

以上将重定向 domain.com/br/news.php?uniquenumder=1到one.domain.com 和 domain.com/br/news.php?uniquenumder=2到two.domain.com 您只需创建适合您需求的规则。

当然,您可以使用RewriteRule行并将它们放在.htaccess文件中。

您可以测试重写规则HERE