htaccess从文件夹中读取文件(web别名)

时间:2011-08-17 16:17:54

标签: apache .htaccess

我有ROOT文件夹 root_public root_about root_maps

我需要向这个样本展示:

  • domain.com < - 来自_public
  • 的所有内容
  • domain.com/about domain.com/about / < - 来自_about的所有内容
  • domain.com/maps domain.com/maps / < - 来自_maps的所有内容

我不知道,我将用root_public \ maps做什么..这可能是个问题。 那我怎么解决这个问题呢?因为我需要这种结构。以及我如何做到这一点?

我正在使用:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)$ _public/$1 [NC]

这是从文件_public读取所有内容,但我不知道,如何做子文件夹!

谢谢你!

1 个答案:

答案 0 :(得分:0)

根据您的问题,我假设您的目录结构如下:

/your/document/root/_public
/your/document/root/_about
/your/document/root/_maps

... Apache DocumentRoot/your/document/root

以下方法可行,但我确信有更简洁的解决方案。

# add trailing slash to domain.com/about and domain.com/maps
RewriteRule ^/(about|maps)$ /$1/

# rewrite domain.com/about/something to /_about/something
RewriteRule ^/(about|maps)/(.*) /_$1/$2

# rewrite anything that doesn't start about/ or maps/ to _public
RewriteCond %{REQUEST_URI} !^/(about|maps)/
RewriteRule ^/(.*) /_public/$1