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