好的,我在 aws 或其他方面遇到了一些问题,以至于我似乎无法让 mod_rewrite 工作。
仅出于测试目的,我做了以下事情:
1 使用 aws 控制台从向导部署新的 ami 64 位实例
2 yum 安装 apache
3 编辑 /etc/httpd/conf/httpd.conf: 以便
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
好像
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
4 确保
LoadModule rewrite_module modules/mod_rewrite.so
在文件中并且未注释。
5 重启apache:
sudo /sbin/service httpd restart
6 创建了两个新文件:
/var/www/html/test1.html
包含:
this is test1!
/var/www/html/test2.html
包含:
this is test2!
7 创建文件:
/var/www/html/.htaccess
包含(总计):
RewriteEngine on
RewriteRule ^test1\.html$ test2.html [L]
8 去了:
http://[my aws server]/test1.html
我得到“这是test1!”
我在这里做错了什么,但对于我的生活,我不知道是什么。任何帮助是极大的赞赏...
编辑:我在 .htaccess 文件的开头添加了无意义的字符/数字,并重新启动了 apache(不是 100% 确定需要,但是嘿……),什么也没发生。换句话说,我预计转到 url [aws server]/test1.html 会导致某种错误,但事实并非如此。我怀疑 apache 甚至没有读取 .htaccess 文件。
编辑:我将以下内容添加到我的 httpd.conf 文件中:
RewriteLog "/tmp/rewrite.log"
RewriteLogLevel 9
该文件是在我重新启动 apache 时创建的,但是当我转到我设置的任一页面时,那里没有任何内容。我在这里没有做一些非常非常基本的事情,但我不确定是什么......