apache .htaccess和WordPress的网页浏览器

3mpgtkmj  于 2023-02-19  发布在  Apache
关注(0)|答案(2)|浏览(121)

我有一个WordPress的网站,我试图在.htaccess中使用重定向,只能看到从某些IP的完整网站,这是工作正常。
但是我还需要wp-json和它们所有的子查询对任何人都是可访问的,这对我来说是行不通的。
所有这些.htaccess对我来说真的很陌生,所以也许我没有正确应用规则和/或条件。这是我当前的文件:

# BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^/landing/index.php$ - [L]
    RewriteCond %{REQUEST_URI} ^(.*)?wp-json(.*)$
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    RewriteCond %{REMOTE_ADDR} !^127.0.0.1$
    RewriteCond %{REMOTE_ADDR} !^201\.156\.173\.245
    RewriteCond %{REMOTE_ADDR} !^107\.167\.108\.173
    RewriteCond %{REMOTE_ADDR} !^107\.167\.108\.185
    RewriteCond %{REMOTE_ADDR} !^107\.167\.108\.184
    RewriteCond %{REMOTE_ADDR} !^107\.167\.108\.61
    RewriteCond %{REQUEST_URI} !/landing/?(.*)$ [NC]
    RewriteCond %{REQUEST_URI} !(.*)?wp-json(.*)$
    RewriteCond %{REQUEST_URI} !/landing/index.php$ [NC]
    RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
    RewriteRule ^(.*)$ /landing/index.php [R=302,L]

    #RewriteRule ^index\.php$ - [L]
    #RewriteCond %{REQUEST_URI} ^(.*)?wp-json(.*)$
    #RewriteCond %{REQUEST_FILENAME} !-f
    #RewriteCond %{REQUEST_FILENAME} !-d
    #RewriteRule . /index.php [L]

    </IfModule>

    # END WordPress
balp4ylt

balp4ylt1#

为了让wp-json和他们所有的子查询都可以被任何人访问,你需要做以下的修改。
从上面的htaccess代码中删除第6行代码,因为它阻止了对wp-json查询的访问。
重写条件%{请求URI} ^(.)?wp-json(.)$
你也不需要为wp-json 302重定向写第18行以下的代码,因为你想允许每个人访问wp-json查询。
删除第18行以下的代码,
重写条件%{请求URI}!(.)?wp-json(.)$
删除这两行之后,所有用户都可以访问wp-json查询。

czfnxgou

czfnxgou2#

我的问题是apache2配置,请确保配置允许您使用.htaccess
EFI,

相关问题