如何阻止访问除.htaccess中的/blog以外的网站所有页面


RedirectMatch 404 ^/$

此代码阻止主页

RedirectMatch 404 ^/.*$

此代码阻止所有页面

如何获得除一个(/blog(外的所有页面都被屏蔽的效果(404(?

这应该有效:

RedirectMatch 404 ^/((?!blog).*)$

我的完整.htaccess:

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RedirectMatch 404 ^/((?!blog).*)$

这段代码阻塞了所有内容:主页、子页面和/博客。

如何获得除一个(/blog(外的所有页面都被阻止的效果(404(?

您可以使用:

RewriteEngine On
RewriteBase /
# if request doesn't start with /blog then return R=404
RewriteCond %{THE_REQUEST} !s/+blog[s?] [NC]
RewriteRule ^ - [L,R=404]
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]

最新更新