如何在管理员或其他文件夹中使用htaccess隐藏.php扩展名

时间:2018-04-03 05:19:28

标签: php .htaccess

所以这是我隐藏.php扩展名的代码

RewriteEngine On

# Force https.
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Redirect non www to www excluding subdomains.
RewriteCond %{HTTP_HOST} !^(.*)\.(.*)\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Hide php extension.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

hompage index.php文件正常运行,我的意思是我可以毫无问题地访问http://www.site.tld,但如果我尝试使用http://www.site.tld/admin/,则会给我404错误。

  

未找到
  在此服务器上找不到请求的URL /admin/.php。

     

此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。

编辑: 如果我删除重定向#重定向非www到www不包括子域名。代码行正在运作。

1 个答案:

答案 0 :(得分:0)

我将隐藏扩展程序代码更改为:

RewriteRule ^(.+)\.php$ /$1 [R,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /$1.php [NC,END]

现在正在运作。