我有公共html文件夹,其中存储了一些文件和文件夹。然后我创建了一个文件夹。该文件夹包含一些文件和一个文件夹" Admin"其中包含与我的管理面板相关的文件,以浏览我的网站成员数据。
现在我在公共html文件夹中使用了以下代码.htaccess文件,删除了所有页面的php扩展名。但是当我尝试登录我的管理面板时,登录失败。
e.g。 www.abc.com >>这里.htaccess文件包含以下代码。
适用于 www.abc.com 中的文件以及 www.abc.com/xyz/index.php 中的文件和其他文件。但当尝试 www.abc.com/xyz/admin/index.php 登录时,此页面会刷新但不允许成功登录。
.htaccess中使用的代码如下:
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/+(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]
RewriteCond %{THE_REQUEST} /index [NC]
RewriteRule ^(.*?)index([/.]|$) /$1 [L,R=302,NC,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]
答案 0 :(得分:0)
请尝试以下规则,避免重定向POST
次请求:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+(?:index)?(.*?)\.(?:php|html)[\s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} /index [NC]
RewriteRule ^(.*?)index([/.]|$) /$1 [L,R=302,NC,NE]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteCond %{DOCUMENT_ROOT}/$1.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]
RewriteCond %{DOCUMENT_ROOT}/$1.html -f [NC]
RewriteRule ^(.+?)/?$ /$1.html [L]