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