将虚拟子域指向文件夹 - 错误

时间:2011-06-18 15:32:05

标签: php .htaccess mod-rewrite url-masking

当我访问网址时,我有一个域名www.jannatband.com

http://jannatband.com/me/asd

它成功回显了值asd,原始网址如下:

http://jannatband.com/me/index.php?u=asd

上面的HTACESS代码:

# .htaccess
RewriteEngine on
RewriteRule ^[aA-zZ]+$ index.php?u=$0

但是当我尝试将同一个网址转换为

http://me.jannatband.com/asd

使用此.htaccess代码:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^me\.jannatband\.com$
RewriteCond %{REQUEST_URI} !^/me/
RewriteRule (.*) /me/$1

它给了我一个This webpage is not available错误。这个.htaccess代码出了什么问题?

PS /me/public_html中的现有目录。

1 个答案:

答案 0 :(得分:0)

您重写规则会在您的情况下更改一次URL。但是你想让重写引擎再次处理更改过的URL。

您可以通过指定标志,即下一个标志来说明。 From the manual

  

'下一个| N'(下一轮)   重新运行重写过程(从第一个重写规则开始)。这次,要匹配的URL不再是原始URL,而是上次重写规则返回的URL。这对应于Perl next命令或C中的continue命令。使用此标志重新启动重写过程 - 立即转到循环的顶部。

启用它时要小心:

RewriteRule (.*) /me/$1 [N]