Amazon Linuxでmod_rewriteを有効にする


9

Amazon Linuxインスタンスでmod_rewriteを有効にしようとしています。私のディレクトリディレクティブは次のようになります。

<Directory />
    Order deny,allow
    Allow from all
    Options None
    AllowOverride None
</Directory>

<Directory "/var/www/vhosts">
    Order allow,deny
    Allow from all
    Options None
    AllowOverride All
</Directory>

そして、httpd.confのさらに下に、LoadModuleディレクティブがあります。

... other modules...
#LoadModule substitute_module modules/mod_substitute.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule proxy_module modules/mod_proxy.so
... other modules...

Wordpressが必要としないすべてのApacheモジュールをコメントアウトしました。

それでも私がhttp再起動を発行し、次に読み込まれたモジュールをチェックすると、/usr/sbin/httpd -l私は次のものだけを得ます:

[root@foobar]# /usr/sbin/httpd -l
Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c

Wordpressサイトを含む仮想ホストの内部には、次のものが.htaccess含まれています。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

.htaccessは、apacheが実行しているユーザーであるapacheが所有しています。apachectl -tコマンドが返しますSyntax OK

/etc/httpd/conf.d/vhosts.confはこのように見えます:

<VirtualHost *:80>
     ServerAdmin foobar@gmail.com
     ServerName foobar.net
     ServerAlias www.foobar.net
     DocumentRoot /var/www/vhosts/foobar/
     ErrorLog /var/www/vhosts/foobar/logs/error.log
     CustomLog /var/www/vhosts/foobar/logs/access.log combined
</VirtualHost>

何が悪いのですか?何をチェックすればよいですか?

回答:


5

LoadModuleディレクティブはモジュールを動的にロードします。

RewriteEngine on仮想ホストで発行してから、apachectl -t気象を確認するか、モジュールが実際にロードされているかどうかを確認してください。


こんにちはジェームズ、回答ありがとうございます。あなたが指摘したことに関する質問にさらに詳細を追加しました。RewriteEngineはオンで、apachectl -tはSyntax OKを返しますが、それでも機能しません。
ロレンツォ

申し訳ありませんが、最後のコメントを削除しました。間違っていました。これをwordpressの.htaccessファイルから取得しましたね。VHost構成でAllowOverride allを有効にしていますか?
James Park-Watt

こんにちはジェームズ、はい、私はそれをWPから取った。はい、私のDocumentRootのサブディレクトリ上のAllowOverrideがAllに設定されている
ロレンツォ

これを試してください:.htaccessではなくサーバー構成で行RewriteEngine Onを追加し、RewriteRule ^.*$ http://www.wordpress.org/ [R]書き換えがまったく機能しているかどうかを確認します。すべてのトラフィックをWordpress Webサイトに渡す必要があります。
James Park-Watt

WPから.htaccessを削除し、提案された変更を行いましたが、機能しません。
ロレンソ

5

私は新鮮なamazon linuxを始めたばかりで同じ問題Options FollowSymLinkがありましたが、次の行AllowOverride Noneを次のように変更する必要がありましたAllowOverride All


3

私の構成は正しかったが、私は必要でした

Options FollowSymLink

mod_rewriteが機能するように、httpd.conf内のDocumentRootの宣言内。


1

私はこの問題の解決策を得ました.....

設定ファイルで以下 に変更AllowOverride NoneしましたAllowOverride allOptions Indexes FollowSymLinks/etc/httpd/conf/httpd.conf

ありがとう!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.