web-dev-qa-db-ja.com

Wordpress EC2のパーマリンク

ブログをローカルウェブサーバーからAmazonEC2 Free Linuxサーバーに転送しました。パーマリンクを除いてすべてが機能しているようです。パーマリンクを無効にしてから再度有効にしましたが、まだ壊れています。

スクリプトを実行してみました

Sudo a2enmod rewrite

しかし、ec2-userとしてサーバーにログインしているときにa2enmod:コマンドが見つかりませんと表示されます

どんな助けでも大歓迎です!

ありがとう

18
Matt

私はこれと同じ問題を抱えていました。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を実行する必要がある場合があることに注意してください。

それが役立つかどうか教えてください。

43
Carl Sednaoui

基本: PuTTYを使用してWindowsからLinuxインスタンスに接続する

ステップ1:開く PuTTY AWSEC2コンソールにログインする

ステップ2:サーバーアドレスを入力する

enter image description here

ステップ3:PuTTYで認証秘密鍵を参照する

enter image description here

ステップ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

最終的なスクリーンショット

enter image description here

2
Jignesh Darji

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 へのクレジット

2

ここに書かれたビデオの説明があります https://a1websitepro.com/enable-pretty-permalinks-Amazon-web-hosting/

    <Directory /var/www/html/>
     Options Indexes FollowSymLinks
     AllowOverride All
    </Directory>
1
user2970934

AWSでは、ファイルは少し異なる場所にありました。

Sudo nano /etc/httpd/conf/httpd.conf

両方の場所でAllowOverride NoneAllowOverride Allに変更し、Sudo service httpd restartで再起動した後、パーマリンクリダイレクトはうまく機能します。

1
FreshClicks

AllowOverrideは、.htaccessファイルに配置できるディレクティブを制御します。 「すべて」、「なし」、またはキーワードの任意の組み合わせにすることができます。オプションFileInfo AuthConfig Limit

AllowOverride All

これをサーバーに設定すると、503内部サーバーエラーが発生しました。アドバイスはありますか?

0
orlando

複数の.confファイルでAllowOverrideAllとOptions + FollowSymLinksを使用する必要がありました(また、a2enmodの書き換えも試しました)。しかし、それは明らかにそのディレクトリを制御していた最後の.confファイルでした(使用した.isoは、同じディレクトリを持つ複数のファイルになりました...そして最初に変更したものは効果がありませんでした)。しかし、それらすべてがこれらの両方の設定を持つと、システムは機能し始めました。

0
TheSatinKnight

サーバーでAllowOverrideディレクティブが有効になっていない可能性があります。 Apache httpd.configファイルでAllowOverrideディレクティブがNoneに設定されている場合、.htaccessファイルは完全に無視されます。

この場合、サーバーはファイルシステム内の.htaccessファイルを読み取ろうとさえしません。このディレクティブがAllに設定されている場合、.htaccessコンテキストを持つすべてのディレクティブが.htaccessファイルで許可されます。 httpd.configで有効になっているAllowOverrideディレクティブの例:

Options FollowSymLinks

AllowOverride All

このリンクも役立つ場合があります:http://codex.wordpress.org/Using_Permalinks

0
avexdesigns