如何在运行ubuntu的amazon ec2中启用.htaccess

use*_*309 5 php apache .htaccess mod-rewrite amazon-ec2

我有一个在ec2中运行ubuntu的实例.我有这个.htaccess文件: -

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Run Code Online (Sandbox Code Playgroud)

此文件位于var/www/html文件夹内.我的目标实现负载amazon-public-dns.com/index.phpamazon-public-dns.com/index.

现在,我已经尝试以下步骤: -
1)创建rewrite.conf/etc/apache2/mods-enabled该文件把线LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so.(参考此答案)
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>
Run Code Online (Sandbox Code Playgroud)

请注意,这个答案告诉编辑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.但是没有这样的文件

小智 1

默认conf文件/etc/apache2/sites-available/000-default.conf仅在启用站点的文件夹中具有符号链接时才有效。

您已完成所有正确的步骤。可能是站点可用文件夹的系统链接问题。您可以创建符号链接或使用AllowOverride None内部AllowOverride All文件 /etc/apache2/sites-enabled/000-default.conf更新 000-default.conf