htaccess 将子目录重写为 root,如果直接访问子目录也会重定向

问题描述 投票:0回答:1

我有这样的网址

https://example.com/public
https://example.com/public/faq.php

我想这样重写

https://example.com
https://example.com/faq.php

我使用的规则是这样的

RewriteEngine On
Options +FollowSymLinks
RewriteRule ^$ public/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ public/$1 [L]

此规则效果很好,但如果有人访问“https://example.com/public/”或“https://example.com/public/faq.php”,它不会重定向

.htaccess redirect url-rewriting root subdirectory
1个回答
0
投票

解决方案

我已经找到了解决这个问题的方法。如果直接访问公共目录,我添加了以下代码来重定向。

RewriteCond %{THE_REQUEST} /public [NC]
RewriteRule .* / [L,R]
© www.soinside.com 2019 - 2024. All rights reserved.