Mod rewrite 子文件夹中子文件夹的Mod rewrite

Mod rewrite 子文件夹中子文件夹的Mod rewrite,mod-rewrite,subdirectory,Mod Rewrite,Subdirectory,这是我在web服务器上的文件结构: DOCUMENT_ROOT/ foo/ www/ .htaccess bar/ index.php 如果我想将所有内容从www.myserver.com/foo/www/重定向到www.myserver.com/foo/,我应该写什么到www.myserver.com/foo/ 我试过这个: RewriteEngine On RewriteRule ^(.*)$ /www/$1 [L,NE] 但始终显示错误404。我试着用Rew

这是我在web服务器上的文件结构:

DOCUMENT_ROOT/
  foo/
    www/
    .htaccess
  bar/
  index.php
如果我想将所有内容从
www.myserver.com/foo/www/
重定向到
www.myserver.com/foo/
,我应该写什么到
www.myserver.com/foo/

我试过这个:

RewriteEngine On
RewriteRule ^(.*)$ /www/$1 [L,NE]
但始终显示错误404。我试着用RewriteBase详细说明,但也没有成功

非常感谢

另外,当
www/
.htaccess
位于文档根目录中时,它工作正常。但当我将它们放入子文件夹时,总是出现错误404:-(


是的,我想去
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]
RewriteEngine On
RewriteBase /foo
RewriteCond %{REQUEST_URI} !^/foo/www
RewriteRule ^(.*)$ www/$1 [L]
或者将其移动到
/foo
目录,将其更改为:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/foo/www
RewriteRule ^foo/(.*)$ /foo/www/$1 [L]
RewriteEngine On
RewriteBase /foo
RewriteCond %{REQUEST_URI} !^/foo/www
RewriteRule ^(.*)$ www/$1 [L]

所以你想去
http://www.myserver.com/foo/
并获得
/foo/www
中的服务?
RewriteBase/foo/
不起作用?是的,我想去
http://www.myserver.com/foo/
并在
/foo/www
中获得服务。不,
RewriteBase/foo/
不起作用。我在web服务器上尝试过,在我的本地主机(XAMPP)上也是如此。