Regex mod_重写重定向到文件夹

Regex mod_重写重定向到文件夹,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,我已经读过很多关于这个主题的帖子,但出于某种原因,这些代码似乎都不起作用。 如果我有一个域example.com,我想在用户不知道重定向的情况下将其重定向到example.com/文件夹 # file: public_html/.htaccess RewriteEngine On RewriteRule ^/(.*)$ /folder/$1 [L] 但它不会将我发送到文件夹。有人能告诉我我做错了什么吗 谢谢删除前导斜杠并包含一个负前瞻: RewriteEngine On RewriteCon

我已经读过很多关于这个主题的帖子,但出于某种原因,这些代码似乎都不起作用。 如果我有一个域
example.com
,我想在用户不知道重定向的情况下将其重定向到
example.com/文件夹

# file: public_html/.htaccess
RewriteEngine On
RewriteRule ^/(.*)$ /folder/$1 [L]
但它不会将我发送到
文件夹
。有人能告诉我我做错了什么吗


谢谢

删除前导斜杠并包含一个负前瞻:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+folder/ [NC]
RewriteRule ^ - [R=404,L]

RewriteRule ^((?!folder/).*)$ /folder/$1 [L,NC]

它几乎可以完美地工作,但是如果我这样做的话
example.com/folder/index.php
。这同样有效。
example.com/index
重定向到
example.com/folder/index
,这很好。但是如果我转到
example.com/folder/index
它也转到
example.com/folder/index
而不是
example.com/folder/folder/index
并生成一个404。所以你的意思是它应该转到
example.com/folder/index
,我认为
example.com/folder/index
不应该像以前那样重写从
/folder/
开始,但我不希望用户能够知道他们被重定向到哪里。这可能吗?因为重写引擎会一次又一次地运行,直到任何条件匹配为止。