apache mod 重写文件夹隐藏

apache mod rewrite folders hide

我想要 URL 域。com/folder/login.php 重写为 domain.com/login 并设法获得 .php "removed" 但我无法删除 /folder/ 我得到 500 或尝试为重写引擎制定规则时出现 404 错误

这是我当前的重写规则:

<Directory />
Options +FollowSymLinks -MultiViews
AllowOverride None
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]
RewriteCond %{REQUEST_FILENAME}.php -f [NC]
RewriteRule ^ %{REQUEST_URI}.php [L]
RewriteRule ^backend/(.*)$ / [L,NC,R]
</Directory>

提前致谢!

RewriteRule ^ %1 [R,L,NC] 下方添加:

RewriteCond %{THE_REQUEST} \s/+folder/
RewriteRule ^folder/(.*)$ / [L,R]

RewriteCond %{DOCUMENT_ROOT}/folder/ -f
RewriteRule ^(.*)$ /folder/ [L]

RewriteCond %{DOCUMENT_ROOT}/folder/.php -f
RewriteRule ^(.*)$ /folder/.php [L]

不确定末尾的 /backend/ 规则是做什么用的,但它会重定向,并且您需要在路由规则之前使用所有重定向规则。