【问题标题】:redirect nested folder (sub sub folder) to own index.php将嵌套文件夹(子子文件夹)重定向到自己的 index.php
【发布时间】:2019-04-29 17:06:30
【问题描述】:

如何从example.com/projects/login 重定向到example.com/projects/login/index.php

我的 .htaccess:

#Force www:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]

#Removing .PHP Extension
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

# Set XSS Protection header
<IfModule mod_headers.c>
Header set X-XSS-Protection "1; mode=block"
</IfModule>

【问题讨论】:

    标签: php apache .htaccess cpanel


    【解决方案1】:

    这不需要任何重写规则。只需在 .htaccess 顶部使用 DirectoryIndex 指令即可:

    DirectoryIndex index.php
    RewriteEngine on
    
    #Force www:
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
    
    #Removing .PHP Extension
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^(.+?)/?$ $1.php [L]
    
    # Set XSS Protection header
    <IfModule mod_headers.c>
    Header set X-XSS-Protection "1; mode=block"
    </IfModule>
    

    【讨论】:

    • 我正在使用共享主机 cpanel,htaccess 文件在 root 中,example.com/projects/login/index.php 链接正常
    • 每个链接末尾都有 /,我也得到 404。
    • 是的项目是一个新文件夹,登录是一个 php 登录系统,在登录文件夹内我可能有 php 文件,如索引、配置文件、rest 密码和...
    • 谢谢,我的问题是什么?
    • 添加.php 而不检查该.php 文件的存在是问题所在。 RewriteCond %{REQUEST_FILENAME}.php -f 会检查。
    猜你喜欢
    • 2018-09-30
    • 2016-05-08
    • 2012-10-23
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 2017-12-05
    • 2013-10-26
    • 2011-08-31
    相关资源
    最近更新 更多