私のhtaccessファイルはlocalhostで動作しますが、EC2インスタンスにデプロイすると動作しません。
Macbookを使用していて、Finderでhtaccessファイルが表示されません。おそらくEC2インスタンスにコピーされなかったと思いましたが、プロジェクトをコピーするとhtaccessファイルが表示されるため、これは問題ではないと思います私のエディタで。
EC2 Linuxインスタンスでmodの書き換えを有効にするものはありますか?ある場合、私はそれをしなかったか、それはデフォルトでmodの書き換えを有効にしますか?
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
さまざまな投稿からいくつかの情報をつなぎ合わせたので、答えを出そうと思いました。
/etc/httpd/conf/httpd.conf
Sudo vim /etc/httpd/conf/httpd.conf
( Amazon EC2でhttpd.confファイルを編集する方法 )DocumentRoot "/var/www/html"
が2か所に掲載されました。その後のAllowOverride None
からAllowOverride All
これら2つの場所。.htaccessファイルにも同じ変更を加えようとしました(コードイグナイターアプリケーションのURLからindex.phpを削除しました)。それが役に立てば幸い!
デフォルトでは、EC2では.htaccessが有効になっていません。許可するには、httpd.configを編集する必要があります。
/ etc/Apache/sites-available/defaultで、AllowOverRide = NoneをAllowOverRide = Allに変更します。
Apache2サーバーを使用する場合
次のディレクトリに移動します。
cd/etc/Apache2/sites-available
ここでLSコマンドを使用すると、次のファイルが表示されます。
0-default.conf
これは、/ var/www/htmlフォルダー内のサイトに適用される、デフォルトのApache設定を含むファイルです。
このファイルを開いて編集します。
Sudo nano 000-default.conf
DocumentRoot/var/www/html行の後に次の行を追加します。
Options FollowSymLinks AllowOverride All Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all
ファイルを保存して、Apacheを再起動します。
SudoサービスApache2再起動
それだけです、今あなたの.htaccessファイルは動作します
その3つのステップのプロセス
Apache mod_rewriteを設定し、ターミナルで実行します。 Sudo a2enmod rewrite
/ etc/Apache2/sites-available/defaultに次のコードを追加します
DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>
3. Apacheを再起動します
/etc/init.d/Apache2 restart
つのステップがあります
Apache mod_rewriteを設定し、ターミナルで実行します。 Sudo a2enmod rewrite
VirtualHostタグ/etc/Apache2/sites-available/000-default.confを閉じた後、このファイルにこのコードを追加します
DocumentRoot/var/www
オプションFollowSymLinks
AllowOverride All
オプションインデックスFollowSymLinks MultiViews
AllowOverride All
注文許可、拒否
すべてから許可
コマンドでApacheサーバーを再起動します
SudoサービスApache2の再起動
Linux環境1の場合-cd/etc/Apache2/sites-available
2-Sudo nano 000-default.conf
このコードを貼り付けます:
<Directory "/var/www/html">
Order allow,deny
Allow from all
Options None
AllowOverride All
</Directory>
これはAWSインスタンスで機能しました。