htaccess重定向到www,子文件夹和隐藏文件夹名称


htaccess redirect to www, subfolder and hide folder name

我想将所有请求重定向到,即使不是www

www.site.com/public

但在URL中隐藏"public"。

此代码处理www部分

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www'. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=302,L]

并且这重定向到/public

RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]

我如何将它们组合在一起?

您是否可以访问VirtualHost?如果是,则可以设置DocumentRoot

像这样的

<VirtualHost *:80>
    DocumentRoot "path/to/public"
    ....
</VirtualHost>

你不需要用.htaccess来做这件事。它是一种更干净的解决方案。