Php 如何在运行ubuntu的AmazonEC2中启用.htaccess
我有一个在ec2中运行ubuntu的实例。我有一个.htaccess文件:-Php 如何在运行ubuntu的AmazonEC2中启用.htaccess,php,apache,.htaccess,mod-rewrite,amazon-ec2,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 此文件位于var/www/html文件夹中。我的目标是将amazon public dns.com/index.php加载为amazo
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
现在,我尝试了以下步骤:-
(一) 在
/etc/apache2/mods enabled
中创建rewrite.conf
,并在文件中放入行LoadModule rewrite\u module/usr/lib/apache2/modules/mod\u rewrite.so
。()
2) 运行命令apache2启用模块重写。另外,在文件
/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>
选项索引跟随符号链接多视图
#从“无”更改为“文件信息”
允许超越所有
命令允许,拒绝
通融
请注意,您被告知编辑默认值
。但是,因为我的例子中没有该文件,所以我编辑了000 default.conf
文件。
我重新启动了apache。但是亚马逊公共dns.com/index的链接给了我一个404:(请帮帮我。
编辑:我在htaccess文件中放入了一些随机垃圾。但是index.php没有给出任何500内部服务器错误,这意味着htaccess文件被忽略。现在
,他们说要启用htaccess编辑此文件-
/etc/apache2/sites available/default
。但是没有这样的文件默认的conf文件/etc/apache2/sites available/000-default.conf只有在启用站点的文件夹中有符号链接时才起作用
您已经完成了所有正确的步骤。这可能是sysmlink of sites available文件夹的问题。您可以创建一个符号链接,或者使用文件/etc/apache2/sites enabled/000 default.conf中的
AllowOverride None
将000-default.conf更新到AllowOverride all
,下面的命令对我很有用
sudo a2enmod rewrite
sudo service apache2 restart
检查加载的模块
sudo apache2ctl -M
今天,我在ubuntu EC2实例上遇到了完全相同的问题 这对我很有用: 将
.htaccess
配置放在
指令中:
<IfModule mod_rewrite.c>
RewriteEngine on
# your config here
</IfModule>
对于这一个:
<Directory /var/www>
# your current implementation
AllowOverride All
</Directory>
最后,检查rewritea2enmod
模块是否按照@kamal kumar的建议加载,不要忘记重新启动apache
这对我很有用,希望这对其他人有帮助:)如果您仍在寻找答案,这应该会对您有所帮助,
<Directory /var/www>
# your current implementation
AllowOverride All
</Directory>
<Directory /var/www>
# your current implementation
AllowOverride All
# Order allow,deny # try to comment this one out
# allow from all # also this one
</Directory>