Mod rewrite 子文件夹中子文件夹的Mod rewrite
这是我在web服务器上的文件结构: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
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)上也是如此。