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/
规则是做什么用的,但它会重定向,并且您需要在路由规则之前使用所有重定向规则。
我想要 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/
规则是做什么用的,但它会重定向,并且您需要在路由规则之前使用所有重定向规则。