0

.ebextensions/フォルダ内に次の内容のserver.configファイルを作成し、それをApache/PHP Elastic Beanstalkインスタンスにデプロイしましたが、URLをあらかじめ確認していないようです。 ..Elastic BeanstalkのRewriteRuleが動作しません

files: 
"/etc/httpd/conf.d/ssl_rewrite.conf": 
    mode: "000644" 
    owner: root 
    group: root 
    content: | 
     RewriteEngine On 

     RewriteRule ^(.*)index\.php$ /$1     [R=301,NC] 
     RewriteRule ^terms$   /tac.php   [NC,L] 
     RewriteRule ^info$   /information.php [NC,L] 
     RewriteRule ^visit$   /visit.php   [NC,L] 

それは十分に単純なようだが、404で例えばmysite.com/terms結果(mysite.com/tac.phpが正常に動作に対し)。

私はちょうど私が見ていない(おそらくそうです)何かをしましたか、私のEBインスタンスの設定で何かを有効にする必要がありますか?

答えて

0

これは馬鹿だった。これらのルール(書面による)は、*.confファイルではなく、.htaccessである必要があります。

あなたはここに違いについて詳しく知ることができます。http://tltech.com/info/rewriterule-in-htaccess-vs-httpd-conf/

ApacheはするRewriteRuleたりするRewriteCondディレクティブは<Directory>ブロックの内部に配置されているかどうかに応じて異なるものと一致しました。また、.htaccessファイルのすべてがDirectoryコンテキスト内にあると見なされます。

したがって、.htaccessファイル内のルールは、ブロック内のルールと同じように動作します。これは、ルールがブロック外で動作する方法とは異なります。この知識を踏まえて、ルールを<Directory>ブロックに移動するだけでhttpd.confファイルを修正できます

関連する問題