ブログをローカルウェブサーバーからAmazonEC2 Free Linuxサーバーに転送しました。パーマリンクを除いてすべてが機能しているようです。パーマリンクを無効にしてから再度有効にしましたが、まだ壊れています。
スクリプトを実行してみました
Sudo a2enmod rewrite
しかし、ec2-userとしてサーバーにログインしているときにa2enmod:コマンドが見つかりませんと表示されます
どんな助けでも大歓迎です!
ありがとう
私はこれと同じ問題を抱えていました。httpdを使用していると仮定すると、/etc/httpd/conf
に移動し、Sudo vi httpd.conf
を実行してhttp.confを開き、「AllowOverride」を次のように変更する必要があります。
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
ここでAllowOverride All
を変更する必要がある場合もあります。
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
次に、apachectl -k restart
を実行してhttpdを再起動する必要があります。実際にSudo apachectl -k restart
を実行する必要がある場合があることに注意してください。
それが役立つかどうか教えてください。
基本: PuTTYを使用してWindowsからLinuxインスタンスに接続する
ステップ1:開く PuTTY AWSEC2コンソールにログインする
ステップ2:サーバーアドレスを入力する
ステップ3:PuTTYで認証秘密鍵を参照する
ステップ4:PuTTYを介してAWSにログインします(「Loginas name」、つまりAWS ec2インスタンス名を入力します。上記の例:ec2-user)
ステップ5:ディレクトリを/ etc/httpd/conf($ cd /etc/httpd/conf
)に変更します
ステップ6:Sudo vi httpd.conf
を実行して、httpd.confファイルを更新します。 (VIエディターでhttpd.confファイルを開きます)
以下を更新
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
に
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
そして
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
に
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
ステップ7:保存してVIエディターを終了します。
保存してVIエディターを終了するには、[Esc]キーを押して:wq
と入力します。
ステップ8:Apacheを再起動します
タイプSudo apachectl -k restart
最終的なスクリーンショット
Ubuntuの場合は、次の場所で「AllowOverrideAll」を変更します。
「私が取らなければならなかった追加のステップは、/ etc/Apache2/sites-enabled/000-defaultを編集することでした。
そのファイルには、「なし」と書かれた/ var/wwwのAllowOverride設定があります。
設定を次のように変更します:AllowOverride All "
Ljonas @ http://wordpress.org/support/topic/solved-permalinks-working-in-Apache2-ubuntu-101 へのクレジット
ここに書かれたビデオの説明があります https://a1websitepro.com/enable-pretty-permalinks-Amazon-web-hosting/
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
AWSでは、ファイルは少し異なる場所にありました。
Sudo nano /etc/httpd/conf/httpd.conf
両方の場所でAllowOverride None
をAllowOverride All
に変更し、Sudo service httpd restart
で再起動した後、パーマリンクリダイレクトはうまく機能します。
AllowOverrideは、.htaccessファイルに配置できるディレクティブを制御します。 「すべて」、「なし」、またはキーワードの任意の組み合わせにすることができます。オプションFileInfo AuthConfig Limit
AllowOverride All
これをサーバーに設定すると、503内部サーバーエラーが発生しました。アドバイスはありますか?
複数の.confファイルでAllowOverrideAllとOptions + FollowSymLinksを使用する必要がありました(また、a2enmodの書き換えも試しました)。しかし、それは明らかにそのディレクトリを制御していた最後の.confファイルでした(使用した.isoは、同じディレクトリを持つ複数のファイルになりました...そして最初に変更したものは効果がありませんでした)。しかし、それらすべてがこれらの両方の設定を持つと、システムは機能し始めました。
サーバーでAllowOverrideディレクティブが有効になっていない可能性があります。 Apache httpd.configファイルでAllowOverrideディレクティブがNoneに設定されている場合、.htaccessファイルは完全に無視されます。
この場合、サーバーはファイルシステム内の.htaccessファイルを読み取ろうとさえしません。このディレクティブがAllに設定されている場合、.htaccessコンテキストを持つすべてのディレクティブが.htaccessファイルで許可されます。 httpd.configで有効になっているAllowOverrideディレクティブの例:
Options FollowSymLinks
AllowOverride All
このリンクも役立つ場合があります:http://codex.wordpress.org/Using_Permalinks