我有一个Wordpress网站,我试图直播,所以我已经改变了我的.htaccess文件,将所有页面重定向到除我以外的所有人的维护页面(基于我的IP)。以下是我的重写规则:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteCond %{REQUEST_URI} !^/maintenance\.html$
RewriteRule ^(.*)$ /maintenance.html [R=307,L]
</IfModule>
这可以按预期工作:每个人都看到除我之外的维护页面。问题是只有主页对我有用:每个其他链接都会导致404错误。我该怎么做才能看到整个网站有效?
顺便说一下,该网站托管在使用Ubuntu的Dreamhost VPS服务器上。
答案 0 :(得分:0)
按照以下方式更改规则为我解决了这个问题:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^151\.42\.160\.116
RewriteCond %{REQUEST_URI} !^/maintenance\.html$
RewriteRule ^(.*)$ /maintenance.html [R=307,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
我想一旦你将其他人重定向到维护页面,你仍然需要更多的重写规则,以便网站能够正常运行。