.htaccess 使用htaccess将请求映射到其他目录而不重定向

.htaccess 使用htaccess将请求映射到其他目录而不重定向,.htaccess,.htaccess,我的项目结构如下: /php/ rest.php /public/ index.html /src/ /css /js /img /src/ /sql/ .htaccess 我认为如果只有/public/中的文件可以通过web访问,那就太好了。我想通过domain.tld/而不是domain.tld/public访问这些文件。如何映射来自/到/公共的请求 尝试过类似的东西,但不起作用 RewriteEngine on

我的项目结构如下:

/php/
    rest.php
/public/
    index.html
    /src/
        /css
        /js
        /img
/src/
  /sql/
.htaccess
我认为如果只有/public/中的文件可以通过web访问,那就太好了。我想通过domain.tld/而不是domain.tld/public访问这些文件。如何映射来自/到/公共的请求

尝试过类似的东西,但不起作用

RewriteEngine on
RewriteRule ^(.*)$ /public/$1

您可以在站点root.htaccess中使用此规则:

RewriteEngine on

RewriteRule ^(?!public/)(.*)$ public/$1 [L,NC]

(?!public/)
是一种负前瞻,用于防止无限循环,避免转发到
/public/
,如果URI已以
/public/
开头,则可以在站点根目录中使用此规则。htaccess:

RewriteEngine on

RewriteRule ^(?!public/)(.*)$ public/$1 [L,NC]
(?!public/)
是一种负前瞻,用于防止无限循环,如果URI已以
/public/
开头,则避免转发到
/public/