【发布时间】:2016-06-22 07:17:55
【问题描述】:
使用.htacess 文件对我来说一直是一个非常令人沮丧的经历。有人请帮忙。
这就是我想要实现的目标:
- 我运行的是 Ubuntu 14.04。
- 将我的整个网站
(example.com)重定向到maintenance.html页面。 - 阻止除一个IP以外的其他所有人,例如,我只需要允许
123.456.789.0
这是我的文件:
- 我的
index.html的位置是/var/www/html - 我的
maintenance.html的位置是/var/www/html - 我的
.htaccess文件的位置是/var/www/html
我的.htaccess 文件的内容:
#Rewrite to www
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com[nc]
RewriteRule ^(.*)$ http://www.example.com/$1 [r=301,nc]
#301 Redirect Old File
Redirect 301 /index.html /maintenance.html
#Block users by IP
order allow,deny
deny from all
allow from 123.456.789.0
请帮我理解:
- 上述每个文件的位置是否正确?在什么情况下,
页面以
500 internal server error结尾? - 我应该进行哪些更改
/etc/apache2/apache.conf-
/etc/apache2/sites-enabled/000-default.conf或 /etc/apache2/sites-available/000-default.conf
- 是否需要运行
a2enmod rewrite? - 我是否应该在上述任何
config文件中添加<IfModule mod_rewrite.c>和</IfModule>作为页眉和页脚?
很抱歉问了太多问题,但我真的很想知道这一切。 提前致谢。
【问题讨论】:
-
deny from没有任何东西是行不通的。我想这是一个错字。 -
永远不要使用
R=301进行测试。Redirect也是如此。 -
文件中的更改取决于您的系统(debian、ubuntu、wamp - 都有不同的默认配置) -
Deny from应该是Deny from All -
@CodeBrauer 我添加了信息。我正在使用 Ubuntu 14.04。我尝试了
deny from all,但它仍然无法正常工作。所以我也编辑了那部分。 -
我尝试使用
deny from all,它对 IP Block 目标有效。但是页面重定向仍然不起作用。感谢@CodeBrauer 和@OlafDietsche。