【问题标题】:Revoke access to certain pages using 404使用 404 撤销对某些页面的访问权限
【发布时间】:2015-12-02 07:24:58
【问题描述】:

您好,我有一些我不想被用户访问的 url,但很遗憾无法删除它们,因为它们是我的 url 的一部分。例如我有这样的网址:

example.com/places(想要撤消对该页面的访问权限) example.com/places/in/jaipur/(已选择位置)

example.com/places/restaurants/(想要撤消对该页面的访问权限) example.com/places/in/jaipur/restaurants/(已选择位置)

一般来说,如果没有选择位置,我希望它们为 404。

刚刚更新了 htacess 中的代码,但仍然可以访问 url:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


RewriteCond %{THE_REQUEST} \s/+places(/restaurants/)?[?\s]  [NC]
RewriteRule ^ - [L,R=404]
</IfModule>


# END WordPress

【问题讨论】:

    标签: javascript php .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    在您的 .htaccess 文件中,您可以执行以下操作:

    RewriteEngine on
    RewriteCond %{REQUEST_URI} ^/places/ [OR]
    RewriteCond %{REQUEST_URI} ^/places/restaurants/
    RewriteRule ^(.*)$ - [R=404,L]
    

    【讨论】:

      【解决方案2】:

      您可以在 DOCUMENT_ROOT/.htaccess 文件中使用此规则:

      RewriteEngine On
      
      RewriteCond %{THE_REQUEST} \s/+places(/restaurants/)?[?\s]  [NC]
      RewriteRule ^ - [L,R=404]
      

      【讨论】:

      • 不知道,但仍然可以访问网址。
      • 什么是仍然可以访问的完整 URL 示例?
      • 这也需要作为第一条规则放在RewriteBase / 行的下方。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-03
      • 2019-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-04
      • 2013-04-20
      相关资源
      最近更新 更多