htaccess 将 root 重定向到子文件夹 - 但保留其他根子文件夹

htaccess redirect root to subfolder - but keep other root subfolders beyond

我的服务器默认有几个系统文件夹和文件。所以为了更好地了解我想把我的网站放在这样的子文件夹中:

www.domain.de/web/index.html

在此子文件夹 "web" 中可以找到所有链接和与网站相关的内容。但是文件夹 "web" 不应该出现在 url 中!

我在我的 htaccess 中用这些行得到了这个并且它有效:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.de [NC]
RewriteCond %{REQUEST_URI} !^/web/.*$
RewriteRule ^(.*)$ /web/

但现在的问题是: 我还希望服务器上的其他文件夹能够正常工作。所以 www.domain.de/downloads/ 也应该有效。此文件夹不在子文件夹 "web" 中。因此,如果我在我的网络浏览器中直接写入 url "www.domain.de/downloads",我不想重定向到 "www.domain.de/web/downloads/",你知道吗?

有什么解决办法吗? :) 谢谢!

您可以使用 RewriteCond 来排除您的文件夹:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.de [NC]
RewriteCond %{REQUEST_URI} !^/download [NC]
RewriteCond %{REQUEST_URI} !^/web/.*$
RewriteRule ^(.*)$ /web/