设置 .htaccess 以从主子文件夹而不是 public_html 读取静态文件夹
Setup .htaccess to read static folder from a main subfolder instead the public_html
我决定将我的 react-app 文件更改为子文件夹 public_html/main/
--出于 git 自动化原因--,然后我也对我的 .htaccess
文件进行了一些更改,以便它可以读取主文件夹。
现在,读取 main/index.html
工作正常,虽然 .htaccess
没有在 main
中检测到 static/
,而是在 [=19= 中寻找它] (我知道它是因为当我把 static 放在那里时它起作用了)。我需要以某种方式更改此点文件以读取子文件夹中的静态文件。
我的服务器上有下一个文件夹树结构:
public_html/
.htaccess
main/
index.html
static/
css/
js/
media/
虽然 .htaccess
看起来像:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . /index.html [L]
RewriteCond %{HTTP_HOST} ^(www.)?udecursos.study$
RewriteCond %{REQUEST_URI} !^/main/
RewriteRule ^(.*)$ /main/
RewriteCond %{HTTP_HOST} ^(www.)?udecursos.study$
</IfModule>
我设法解决了这个问题,当我知道您可以在两个文件夹(根文件夹和子文件夹)中都有一个 .htaccess
文件时。当子文件夹中的点文件将覆盖其他文件时 .htaccess
.
所以我这样配置根 (public_html/
) .htaccess
:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?udecursos.study$
RewriteCond %{REQUEST_URI} !^/main/
RewriteRule ^(.*)$ /main/
RewriteCond %{HTTP_HOST} ^(www.)?udecursos.study$
在位置为 public_html/main/
的子文件夹中,.htaccess
结束
像这样:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . /index.html [L]
</IfModule>
实际工作并阅读所需的文件。
我决定将我的 react-app 文件更改为子文件夹 public_html/main/
--出于 git 自动化原因--,然后我也对我的 .htaccess
文件进行了一些更改,以便它可以读取主文件夹。
现在,读取 main/index.html
工作正常,虽然 .htaccess
没有在 main
中检测到 static/
,而是在 [=19= 中寻找它] (我知道它是因为当我把 static 放在那里时它起作用了)。我需要以某种方式更改此点文件以读取子文件夹中的静态文件。
我的服务器上有下一个文件夹树结构:
public_html/
.htaccess
main/
index.html
static/
css/
js/
media/
虽然 .htaccess
看起来像:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . /index.html [L]
RewriteCond %{HTTP_HOST} ^(www.)?udecursos.study$
RewriteCond %{REQUEST_URI} !^/main/
RewriteRule ^(.*)$ /main/
RewriteCond %{HTTP_HOST} ^(www.)?udecursos.study$
</IfModule>
我设法解决了这个问题,当我知道您可以在两个文件夹(根文件夹和子文件夹)中都有一个 .htaccess
文件时。当子文件夹中的点文件将覆盖其他文件时 .htaccess
.
所以我这样配置根 (public_html/
) .htaccess
:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?udecursos.study$
RewriteCond %{REQUEST_URI} !^/main/
RewriteRule ^(.*)$ /main/
RewriteCond %{HTTP_HOST} ^(www.)?udecursos.study$
在位置为 public_html/main/
的子文件夹中,.htaccess
结束
像这样:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . /index.html [L]
</IfModule>
实际工作并阅读所需的文件。