如何在不保留路径的情况下进行htaccess重定向?

时间:2018-02-24 12:36:04

标签: .htaccess redirect

我真的很困惑......我已经进行了搜索和实验,但似乎没有任何工作可做。所以我放弃了,并在这里问:)

如何将/ subfolder重定向到root,但子文件夹中的每个页面都应该重定向到root?

/子文件夹重定向到root / subfolder / another-folder重定向到root(不是root / another-folder)

感谢。

1 个答案:

答案 0 :(得分:0)

要将请求从/subfolder重定向到/(到根文件夹),您可以在htaccess文件中使用以下规则:

RewriteEngine on

RewriteCond %{THE_REQUEST} /subfolder/(.*)\sHTTP  [NC]
RewriteRule ^.+$ /%1 [NE,L,R]

上面的RewriteRule会将来自/subfolder/foobar的任何请求重定向到/foobar,但由于/foobar/root不存在,因此您将收到404未找到的错误饲料。

要解决此问题,您需要一个RewriteRule来内部重写从/root/subfolder的请求。以下规则将内部映射http://example.com/foobarhttp://example.com/subfolder/foobar。从根目录重定向子文件夹是不可见的。

subfolder/root重定向规则

下面添加以下权利
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ /subfolder/$1 [L]

编辑:

道歉。我误解了你的问题。如果您想将/subfolder请求重定向到根文件夹,请尝试以下操作:

RewriteEngine on 
RewriteCond %{THE_REQUEST} /subfolder/(.*)\sHTTP  [NC]
RewriteRule ^.+$ / [NE,L,R]