url重写不完全在子域上工作

时间:2014-04-18 18:00:15

标签: php .htaccess url-rewriting

我需要重写的重写规则

http://subdomain.domain.com/123/asdf
to
http://subdomain.domain.com/profile?id=123

我有这个规则

RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com
RewriteRule ^([a-zA-Z0-9-/]*)?$ profile.php?id=$1 [NC,L]

问题是上述规则不能按我想要的方式工作。它重写了下面的网址。

http://subdomain.domain.com
to
http://subdomain.domain.com/profile.php?id=

http://subdomain.domain.com/123/asdf
to
http://subdomain.domain.com/profile.php?id=123/asdf

重写规则不应重写subdomain.domain.com。 该规则只应在网址如下所示时重写。  http://subdomain.domain.com/123/asdf

1 个答案:

答案 0 :(得分:0)

尝试:

RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-]+)/ profile.php?id=$1 [NC,L]