【问题标题】:.htaccess redirection after rewrite.htaccess 重写后重定向
【发布时间】:2017-03-28 08:59:24
【问题描述】:

在 .htaccess 文件中我有以下代码

Options +FollowSymLinks
RewriteEngine ON

RewriteRule ^home home.php [NC]

将 localhost/xvwa/home.php 重写为 localhost/xvwa/home

现在,我的问题是我仍然可以访问 localhost/xvwa/home.php。
我尝试进行 301 重定向,但我不断收到禁止错误。
当用户尝试访问 localhost/xvwa/home.php 时,如何重定向到 localhost/xvwa/home?

第二部分

home.php 包含其他几个.php 文件,例如header.php 和footer.php-> 如何防止用户直接访问这些文件-> 还有最好是设置禁止错误还是丢失错误?

【问题讨论】:

    标签: php apache .htaccess redirect mod-rewrite


    【解决方案1】:

    使用以下规则,

    RewriteEngine on
    RewriteCond %{REQUEST_URI} ^/xvwa/home.php
    RewriteRule ^ /xvwa/home [R=301,L]
    
    RewriteRule ^home home.php [NC,L,END]
    
    # deny access
    RewriteRule ^(header|footer)\.php - [F,L,NC]
    

    【讨论】:

    • Tnx 快速回答,但不幸的是它没有解决我的问题-> 我仍然可以直接访问 home.php,它根本不会重定向
    • 你在哪里使用规则
    • .htaccess 文件与 home.php(xvwa 文件夹)位于同一文件夹中/拒绝访问规则仅适用于重定向无效
    • 是的,这行得通。太感谢了。还有一个问题。我使用了你的拒绝访问规则,除了 home_content.php imgur.com/a/vWITk 之外它工作得很好)#拒绝访问 RewriteRule ^(header|footer|panel|include|home_content)\.php - [F,L,NC]
    • mmhhh,如果它在您使用规则的目录中,它应该可以工作,如果在此之后仍然无法工作,请提出有关该问题的新问题,如果有帮助,请接受此作为答案.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 2021-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多