簡體   English   中英

如何在運行ubuntu的amazon ec2中啟用.htaccess

[英]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,denyallow 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM