更新:虚拟子域上的RewriteRule

时间:2011-05-31 04:00:03

标签: php .htaccess mod-rewrite

我再来一次:(

遇到大问题需要帮助!!!

我有像

这样的网址
  

http://www.foo.com/user/index.php UID =我&安培;页=约

我希望改成这样的

  

http://me.foo.com/about

我已经成功使用此htaccess

制作虚拟子域+通配符+
RewriteBase /
RewriteCond %{HTTP_HOST} !www.foo.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).foo.com [NC]
RewriteRule (.*) user/index.php?uid=%2 [L]

但我不知道如何根据要求提供& page = about


更新

没有身体回答这个问题:(

更新,现在我已经有了一个解决方案,“我的尝试和错误”:P

“但是”htacces看起来很奇怪。 现在,任何人都可以解决这个问题?或者我应该怎么做......这个htaccess是RUN corecty

RewriteCond %{HTTP_HOST} !www.foo.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).foo.com [NC]
RewriteRule (.*)^/?([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ user/index.php?uid=%2&page=$2&subrequest=$3 [L]

RewriteCond %{HTTP_HOST} !www.foo.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).foo.com [NC]
RewriteRule (.*)^/?([a-zA-Z0-9]+)$ user/index.php?uid=%2&page=$2 [L]

RewriteCond %{HTTP_HOST} !www.foo.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).foo.com [NC]
RewriteRule (.*) user/index.php?uid=%2 [L]

我真的需要你的帮助大师:(

方面。

Stecy> :(

2 个答案:

答案 0 :(得分:0)

看到这有帮助:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?([a-z0-9-]+)(?<!www)\.foo\.com$ [NC]
RewriteRule ^([a-z0-9-]*)$ user/index.php?uid=%1&page=$1 [L]

如果有必要,我很乐意解释上述规则的作用。

答案 1 :(得分:0)

尝试使用QSA标志。

RewriteBase /
RewriteCond %{HTTP_HOST} !www.foo.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).foo.com [NC]
RewriteRule (.*) user/index.php?uid=%2 [QSA, L]

检查出来&gt; HTAccess mod rewrite issue using QSA