我环顾四周,尝试了一些有效的规则和条件;虽然有些不起作用或条件会捕获太多导致其他域也重定向。这对我有用:
# Redirect (also catches www.)
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ subfolder [L]
如果您访问www.domain.com或domain.com,则会产生 被重定向到domain.com/subfolder 太棒了,但我也想将/ subfolder部分隐藏在网址中。
我如何实现这一目标?
请注意,我有多个域,每个域都应重定向到自己的文件夹。 我还希望每个页面仍然可以在各自的文件夹中看到。
所以www.domain.com/abc应该重定向到domain.com/subfolder/abc但是显示domain.com/abc
答案 0 :(得分:10)
尝试此规则:
# remove www
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [NE,R=301,L]
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$
RewriteRule !^subfolder/ /subfolder%{REQUEST_URI} [L]