如何删除.htaccess文件中的.php扩展名?

时间:2019-07-17 10:14:10

标签: php .htaccess

  

我的网址像http://example.com/login.php,我希望它的显示像   http://example.com/login在我的网站首页上是login.php而不是   比索引,所以我已经在.htaccess中设置了此选项

     

这是.htaccess文件代码

ErrorDocument 403 403.php
ErrorDocument 404 404.php
ErrorDocument 405 405.php
ErrorDocument 501 501.php

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ login.php [NC,L]
RewriteCond %{REQUEST_METHOD} !^(GET|POST|HEAD)
RewriteRule .* - [R=501,L]


Options -Indexes
DirectoryIndex login.php

<LimitExcept GET POST>
deny from all
</LimitExcept>
ServerSignature Off 
FileETag None
<IfModule mod_reqtimeout.so>
  RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
</IfModule>



    Header set X-FRAME-OPTIONS SAMEORIGIN 
    Header set Content-Security-Policy: "child-src 'self' allow 'self'; media-src *; img-src *; "
    Header set Access-Control-Allow-Origin: "*"
    Header set X-XSS-Protection "1; mode=block"
    Header set Referrer-Policy "no-referrer | same-origin | origin | strict-origin | no-origin-when-downgrading"
    Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure

1 个答案:

答案 0 :(得分:0)

您可以使用:

# To externally redirect without .php
RewriteCond %{THE_REQUEST} \s/+(.+)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]

# To internally rewrite to .php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]