[英]How to enable .htaccess in amazon ec2 running ubuntu
我有一個在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
。 ( 參考這個答案 )
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>
請注意, 此答案告訴您編輯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
。 但是沒有這樣的文件
默認配置文件/etc/apache2/sites-available/000-default.conf僅在其啟用了站點的文件夾中具有符號鏈接時才起作用。
你已經做了所有正確的步驟。 它可能是站點可用文件夾的sysmlink問題。 您可以創建一個符號鏈接,也可以使用AllowOverride None
更新000-default.conf更新為AllowOverride All
內部文件/etc/apache2/sites-enabled/000-default.conf
以下命令對我有用!
sudo a2enmod rewrite
sudo service apache2 restart
檢查加載的模塊
sudo apache2ctl -M
今天我在ubuntu EC2實例上遇到了同樣的問題。
這對我有用:
將.htaccess
配置放在<IfModule ..>
指令中:
<IfModule mod_rewrite.c>
RewriteEngine on
# your config here
</IfModule>
不確定服務器是否實際考慮了/var/www/html
。 嘗試改變這個:
<Directory /var/www/html>
# your current implementation
AllowOverride All
</Directory>
對於這一個:
<Directory /var/www>
# your current implementation
AllowOverride All
</Directory>
該指令應該已經存在於/etc/apache2/apache2.conf
文件中。
如果這不起作用,請嘗試注釋掉您的配置,特別是具有allow,deny
和allow from all
<Directory /var/www>
# your current implementation
AllowOverride All
# Order allow,deny # try to comment this one out
# allow from all # also this one
</Directory>
最后但並非最不重要的是,檢查是否按照@ kamal-kumar的建議加載了重寫a2enmod
模塊,並且不要忘記重新啟動apache。
這對我有用,希望這可以幫助別人:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.