这是我在网络服务器上的文件结构:
DOCUMENT_ROOT/
foo/
www/
.htaccess
bar/
index.php
如果我想将所有内容从 www.myserver.com/foo/www/ 重定向到 www,我应该写给 foo / .htaccess 。 myserver.com/foo / ?
我试过了:
RewriteEngine On
RewriteRule ^(.*)$ /www/$1 [L,NE]
但始终显示错误404。我尝试使用RewriteBase也没有成功。
非常感谢
P.S。当 www / 和 .htaccess 在DOCUMENT_ROOT中时,它可以正常工作。但是当我把它们放到子文件夹中时,总是得到错误404: - (
答案 0 :(得分:2)
是的,我想转到
中的内容http://www.myserver.com/foo/
并获取/foo/www
如果您的htaccess文件位于/foo/www
,这将永远不会有效,因为除非请求是/foo/www
内的内容,否则它不会生效。请求仅为/foo
,因此忽略.htaccess文件。您需要将htaccess文件移动到文档根目录,将其更改为:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/foo/www
RewriteRule ^foo/(.*)$ /foo/www/$1 [L]
或将其移至/foo
目录,将其更改为:
RewriteEngine On
RewriteBase /foo
RewriteCond %{REQUEST_URI} !^/foo/www
RewriteRule ^(.*)$ www/$1 [L]