1

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

http://jannatband.com/me/asd

它成功地回显了 value asd,原来的 url 是这样的:

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

上面的HTACES代码:

# .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.

4

1 回答 1

0

您重写规则将在您的情况下更改一次 URL。但是您想让重写引擎再次在更改后的 URL 上工作。

您可以通过指定一个标志,即下一个标志来表示。从手册

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

所以启用它时要小心:

RewriteRule (.*) /me/$1 [N]
于 2011-06-18T15:51:31.523 回答