我有一个要重定向到的子文件夹,我希望它可以动态重定向,所以无论何时我要转到:

example.domain/about带我到example.domain/subfolder/about,但在地址栏中仍显示:example.domain/about

但是,我不需要指定域名,因此可以在任何项目中使用它。所以我想只是想自动将根域名声明为变量?



我在这里工作:

RewriteRule !^subfolder/ /subfolder%{REQUEST_URI} [L,R=301]


并且它不需要域名,但在域名中仍显示subfolder



我需要的是this答案中的策略,但是要减去域名:

RewriteEngine On
RewriteRule ^/subfolder/(.*)$ http://www.example.domain/$1 [L,R=301]


我还需要它可用于www.和裸域。

最佳答案

尝试以下规则:

RewriteEngine On
#remov php exten
RewriteCond %{DOCUMENT_ROOT}/subfolder/$1.php -f
RewriteRule ^(.*)$ /subfolder%{REQUEST_URI}.php [NC,L]
#redirect root to sub
RewriteRule ^((?!subfolder).*) /subfolder%{REQUEST_URI} [L,NC]

09-27 03:21