【问题标题】:only access with url which I write on htaccess prevent accessing real url仅使用我在 htaccess 上编写的 url 访问阻止访问真实 url
【发布时间】:2021-09-20 07:16:39
【问题描述】:

我有文件夹admin
我已将 url 从 admin 更改为 admin-cdn 并使用以下规则

RewriteRule ^admin-cdn/?(.*)$ admin/$1 [L]

现在我可以使用www.domain.com/admin/www.domain.com/admin-cdn/ url 访问管理文件夹的文件

当用户使用www.domain.com/admin 路径访问什么时,我想显示 404 错误

如何在 .htaccess 文件中做到这一点

【问题讨论】:

    标签: apache .htaccess redirect mod-rewrite friendly-url


    【解决方案1】:

    试试这个

    RewriteRule ^admin/ - [L,R=404]
    RewriteRule ^admin-cdn/?(.*)$ admin/$1 [L]
    

    【讨论】:

    • 现在它阻止访问“admin” url,也阻止访问“admin-cdn”。如何解决这个问题。
    • 我之前也尝试过,但它不起作用。
    【解决方案2】:

    你可以这样做:

    RewriteEngine On
    
    # if /admin/ is entered as URL then send 404
    RewriteCond %{THE_REQUEST} \s/admin[?/\s] [NC]
    RewriteRule ^ - [L,R=404]
    
    # internal rewrite from /admin-cdn/ to /admin/
    RewriteRule ^admin-cdn(/.*)?$ admin$1 [L,NC]
    

    【讨论】:

    • 你能解释一下我怎样才能将 url 更改为“admincdn”吗
    • 为此使用RewriteRule ^admincdn(/.*)?$ admin$1 [L,NC]
    • 这个RewriteRule ^ - [L,R=404]是什么意思
    • @Narsingitkampalli RewriteRule ^ - [L,R=404] 表示任何通过此规则的 URI 都会收到 404 错误。
    • 当我用/admin-cdn/images/ 之类的url 打错文件夹名称时,如果images 文件夹存在,那么如果images 文件夹不存在,它就可以正常工作,而不是重定向到/admin 路径
    猜你喜欢
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多