问题描述
|
访问网址时,我的域名为
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
中的现有目录。
解决方法
您的重写规则将在您的情况下更改一次URL。但是,您想使重写引擎再次在更改后的URL上运行。
您可以通过指定一个标志(下一个标志)来表示。从手册中:
\'next | N \'(下一轮)
重新运行重写过程(从第一个重写规则重新开始)。这次,要匹配的URL不再是原始URL,而是最后重写规则返回的URL。这对应于Perl next命令或C语言中的continue命令。使用此标志可以重新开始重写过程-立即转到循环顶部。
因此,启用它时要小心:
RewriteRule (.*) /me/$1 [N]