带有条件的URL重定向

时间:2013-01-30 07:58:05

标签: php apache url-rewriting

  

可能重复:
  .htacces to create friendly URLs. Help needed

我是url重写的新手,所以这是我的查询

如果请求来自“http://www.mysite.com/ichat/a2b35

,我现在有一个网站http://www.mysite.com/ichat

我想将它重定向到我的服务器中的ichat目录中的php文件,如

http://www.mysite.com/ichat/chat.php?chatid=a2b35

但如果网址是这样的

`http://www.mysite.com/ichat/special/a2b35

我想将其重定向到

http://www.mysite.com/ichat/chat.php?special=yes&chatid=a2b35

chatid将是字母数字,没有特殊字符。这种重定向是否可行,或者我需要一个物理special文件夹才能使用它?

2 个答案:

答案 0 :(得分:1)

当然,只是利用重写在评估中排序的事实:

RewriteRule ^/ichat/special/(.+) /chat.php?special=yes&chatid=$1 [L]
RewriteRule ^/ichat/(.+) /chat.php?chatid=$1 [L]

[L]表示规则评估会在规则匹配时停止,因此任何/ichat/special/网址都会被第一条规则捕获,而其他/ichat/网址将会获得被第二个抓住了。

答案 1 :(得分:-1)

基于以上代码,下面是可以在url

中的ichat上重定向页面的示例代码
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/~ichat/ [OR]
RewriteRule ^(.*)$ http://www.mysite.com/ichat/chat.php?chatid=$1 [R,L]

将上述代码放在.htaccess文件中。

愿这对你有帮助。