【发布时间】:2019-02-01 10:26:06
【问题描述】:
【问题讨论】:
-
对example.com 之类的网站的任何请求都应该保持原样并在内部转到example.com/folder 对吗?
【问题讨论】:
根据您的问题,有两种情况,您可以选择合适的一种:
第一:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,7}\s/folder/?\sHTTP.*$
RewriteRule ^(.*)$ / [R=302,L]
RewriteRule ^$ /folder/ [L]
您捕获了http://example.com/folder 或http://example.com/folder/ 两个请求,然后将其中任何一个从外部重定向到http://example.com/,但仍从该文件夹内部获取数据。
第二:
RewriteEngine On
RewriteCond %{REQUEST_URI} /folder/?$
RewriteRule ^(.*)$ / [R=302,L]
您捕获http://example.com/folder 或http://example.com/folder/ 两个请求,然后将其中任何一个重定向到http://example.com/。
在这两种情况下,对http://example.com/folder/file 的任何请求都将保持原样。
注意:如果任何一个都ok,把R=302改成R=301为永久重定向
【讨论】:
试试这个
RewriteCond %{REQUEST_URI} ^/folder/?$
RewriteCond %{REQUEST_URI} !^/folder/file$
RewriteRule (.*) / [R=301,L]
【讨论】: