我有一个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
2条答案
按热度按时间balp4ylt1#
为了让wp-json和他们所有的子查询都可以被任何人访问,你需要做以下的修改。
从上面的htaccess代码中删除第6行代码,因为它阻止了对wp-json查询的访问。
重写条件%{请求URI} ^(.)?wp-json(.)$
你也不需要为wp-json 302重定向写第18行以下的代码,因为你想允许每个人访问wp-json查询。
删除第18行以下的代码,
重写条件%{请求URI}!(.)?wp-json(.)$
删除这两行之后,所有用户都可以访问wp-json查询。
czfnxgou2#
我的问题是apache2配置,请确保配置允许您使用.htaccess
EFI,