【发布时间】:2015-06-18 13:16:03
【问题描述】:
我有一个在 ec2 中运行 ubuntu 的实例。我有这个 .htaccess 文件:-
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
此文件位于var/www/html 文件夹内。我的目标是实现将amazon-public-dns.com/index.php 加载为amazon-public-dns.com/index。
现在,我已经尝试了这些步骤:-
1)
在/etc/apache2/mods-enabled 中创建rewrite.conf,并在文件中放置LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so 行。 (Refer this answer)
2)
运行命令apache2 enable module rewrite。另外,在文件/etc/apache2/sites-available/000-default.conf 中最后写下这个:-
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
# changed from None to FileInfo
AllowOverride All
Order allow,deny
allow from all
</Directory>
注意this answer 告诉编辑default。但是,由于在我的情况下该文件不存在,因此我编辑了 000-default.conf 文件。
我按照告知重新启动了 apache。但是链接 amazon-public-dns.com/index 给了我一个 404 :( 请帮助我。
编辑:我在 htaccess 文件中放了一些随机垃圾。但是 index.php 没有给出任何500 内部服务器错误,这意味着 htaccess 文件被忽略。现在在
https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles
,他们说要启用 htaccess 编辑这个文件 - /etc/apache2/sites-available/default。 但是没有这样的文件
【问题讨论】:
-
如果您仍在寻找答案,这应该对您有所帮助,webmasters.stackexchange.com/questions/61009/…
标签: php apache .htaccess mod-rewrite amazon-ec2