質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
mod_rewrite

ApacheウェブサーバーのためのURL書き換えモジュールです。主にプリティーURLに使われていますが、同様に単純置換を超えた、多様なタスクの処理能力や柔軟性があります。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

4466閲覧

AWSでRewriteRuleが機能しない。

kugino

総合スコア11

mod_rewrite

ApacheウェブサーバーのためのURL書き換えモジュールです。主にプリティーURLに使われていますが、同様に単純置換を超えた、多様なタスクの処理能力や柔軟性があります。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2016/11/19 07:16

編集2016/11/20 15:13

###前提・実現したいこと
RewriteRuleによるリダイレクト(ドメインの変更)を行なおうと思っています。

・PHP5.3(CakePHP1.2)を使用しています。
・AWSのElastic Beanstalkを使用してソースをサーバーにデプロイしています。
・phpini()によって「mod_rewrite」が入っていることは確認しています。
・httpd.confに以下の記述はあります。
LoadModule rewrite_module modules/mod_rewrite.so

###発生している問題・エラーメッセージ
・RewriteRuleでリダイレクトしていしない。

###該当のソースコード

RewriteEngine On RewriteBase / RewriteRule ^(.*)$ http://[新ドメイン]/$1 [R=302,L]

###試したこと

上記記述の代わりに

Redirect permanent / http://[新ドメイン]/

とした場合は、リダイレクトしています。

###補足情報(言語/FW/ツール等のバージョンなど)

RewriteCond %{http_host} [特定の旧ドメイン]

のように、条件付けのリダイレクトを行ないたいため、mod_rewriteが使える様、ご教授をお願いします。

▼下記追記しました。
・デプロイしたソースファイルは「var/www/html」に展開されているようです。
・「/etc/httpd/conf/httpd.conf」の中身は下記の通りです。

ServerTokens OS ServerRoot "/etc/httpd" PidFile run/httpd.pid Timeout 60 KeepAlive Off MaxKeepAliveRequests 100 KeepAliveTimeout 15 ## Server-Pool Size Regulation (MPM specific) <IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000 </IfModule> <IfModule worker.c> StartServers 4 MaxClients 300 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule> Listen 80 LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_alias_module modules/mod_authn_alias.so LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule ldap_module modules/mod_ldap.so LoadModule authnz_ldap_module modules/mod_authnz_ldap.so LoadModule include_module modules/mod_include.so LoadModule log_config_module modules/mod_log_config.so LoadModule logio_module modules/mod_logio.so LoadModule env_module modules/mod_env.so LoadModule ext_filter_module modules/mod_ext_filter.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule expires_module modules/mod_expires.so LoadModule deflate_module modules/mod_deflate.so LoadModule headers_module modules/mod_headers.so LoadModule usertrack_module modules/mod_usertrack.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule mime_module modules/mod_mime.so LoadModule dav_module modules/mod_dav.so LoadModule status_module modules/mod_status.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule info_module modules/mod_info.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule dir_module modules/mod_dir.so LoadModule actions_module modules/mod_actions.so LoadModule speling_module modules/mod_speling.so LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so LoadModule substitute_module modules/mod_substitute.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule cache_module modules/mod_cache.so LoadModule suexec_module modules/mod_suexec.so LoadModule disk_cache_module modules/mod_disk_cache.so LoadModule cgi_module modules/mod_cgi.so LoadModule version_module modules/mod_version.so Include conf.d/*.conf User ${EB_CONFIG_APP_USER} User ${EB_CONFIG_APP_USER} ### Section 2: 'Main' server configuration ServerAdmin root@localhost UseCanonicalName Off DocumentRoot "/var/www/html/app/webroot" <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory "/var/www/html"> Options FollowSymLinks AllowOverride All # Controls who can get stuff from this server. Order allow,deny Allow from all </Directory> <IfModule mod_userdir.c> UserDir disabled </IfModule> DirectoryIndex index.php index.html AccessFileName .htaccess <Files ~ "^\.ht"> Order allow,deny Deny from all Satisfy All </Files> TypesConfig /etc/mime.types DefaultType text/plain <IfModule mod_mime_magic.c> MIMEMagicFile conf/magic </IfModule> HostnameLookups Off ErrorLog logs/error_log LogLevel warn LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent CustomLog logs/access_log combined ServerSignature On Alias /icons/ "/var/www/icons/" <Directory "/var/www/icons"> Options Indexes MultiViews FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> <IfModule mod_dav_fs.c> # Location of the WebDAV lock database. DAVLockDB /var/lib/dav/lockdb </IfModule> ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" <Directory "/var/www/cgi-bin"> AllowOverride All Options None Order allow,deny Allow from all </Directory> IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=UTF-8 AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip AddIconByType (TXT,/icons/text.gif) text/* AddIconByType (IMG,/icons/image2.gif) image/* AddIconByType (SND,/icons/sound2.gif) audio/* AddIconByType (VID,/icons/movie.gif) video/* AddIcon /icons/binary.gif .bin .exe AddIcon /icons/binhex.gif .hqx AddIcon /icons/tar.gif .tar AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip AddIcon /icons/a.gif .ps .ai .eps AddIcon /icons/layout.gif .html .shtml .htm .pdf AddIcon /icons/text.gif .txt AddIcon /icons/c.gif .c AddIcon /icons/p.gif .pl .py AddIcon /icons/f.gif .for AddIcon /icons/dvi.gif .dvi AddIcon /icons/uuencoded.gif .uu AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl AddIcon /icons/tex.gif .tex AddIcon /icons/bomb.gif core AddIcon /icons/back.gif .. AddIcon /icons/hand.right.gif README AddIcon /icons/folder.gif ^^DIRECTORY^^ AddIcon /icons/blank.gif ^^BLANKICON^^ DefaultIcon /icons/unknown.gif ReadmeName README.html HeaderName HEADER.html IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t AddLanguage ca .ca AddLanguage cs .cz .cs AddLanguage da .dk AddLanguage de .de AddLanguage el .el AddLanguage en .en AddLanguage eo .eo AddLanguage es .es AddLanguage et .et AddLanguage fr .fr AddLanguage he .he AddLanguage hr .hr AddLanguage it .it AddLanguage ja .ja AddLanguage ko .ko AddLanguage ltz .ltz AddLanguage nl .nl AddLanguage nn .nn AddLanguage no .no AddLanguage pl .po AddLanguage pt .pt AddLanguage pt-BR .pt-br AddLanguage ru .ru AddLanguage sv .sv AddLanguage zh-CN .zh-cn AddLanguage zh-TW .zh-tw LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW ForceLanguagePriority Prefer Fallback AddDefaultCharset UTF-8 AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl AddHandler type-map var AddType text/html .shtml AddOutputFilter INCLUDES .shtml Alias /error/ "/var/www/error/" <IfModule mod_negotiation.c> <IfModule mod_include.c> <Directory "/var/www/error"> AllowOverride All Options IncludesNoExec AddOutputFilter Includes html AddHandler type-map var Order allow,deny Allow from all LanguagePriority en es de fr ForceLanguagePriority Prefer Fallback </Directory> </IfModule> </IfModule> BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0 BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0 BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully BrowserMatch "MS FrontPage" redirect-carefully BrowserMatch "^WebDrive" redirect-carefully BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully BrowserMatch "^gnome-vfs/1.0" redirect-carefully BrowserMatch "^XML Spy" redirect-carefully BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully ### Section 3: Virtual Hosts FileETag none Header unset Server Header unset X-Powered-By ServerSignature Off ServerTokens Prod <Location /server-status> SetHandler server-status Order Deny,Allow Deny from all Allow from 127.0.0.1 </Location> KeepAlive On <Directory "/var/www/html"> Options FollowSymLinks AllowOverride All DirectoryIndex index.html index.php Order allow,deny Allow from all </Directory>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

httpd.confAllowOverride Allがないのではないでしょうか?

以下追記
まるごとリダイレクトしたいならインスタンスを立てなくてもRoute 53+S3で実現できます。
以下リンクは内容は少し違いますが、同じ要領で設定できます。

http://blog.mah-lab.com/2013/05/09/naked-domain-redirect-with-route53-s3/

投稿2016/11/19 08:48

編集2016/11/19 08:52
moonphase

総合スコア6621

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kugino

2016/11/19 11:00 編集

 早速のご回答ありがとうございます。 >> httpd.confにAllowOverride Allがないのではないでしょうか?  該当のファイルに「AllowOverride All」という記述は(なん箇所か)ありましたので、サーバー内で有効になっているのかと思っていました。AWSの初期状態だと何か足りないのでしょうか?  そもそも、同じファイルで「Redirect permanent / http://[新ドメイン]/ 」が使えたので、Apacheの設定と「.htaccess」の置き場は問題はないと思っていました。 >> まるごとリダイレクトしたいならインスタンスを立てなくてもRoute 53+S3で実現できます。  なるほど、ドメインの設定で、旧ドメイン→S3のリダイレクト→新ドメインとするのですね。  「RewriteRule」が有効にならなかった場合、使わせてもらいます。
moonphase

2016/11/20 11:23

実際のEC2上にあるhttpd.confを質問に追記することは可能ですか?
kugino

2016/11/20 15:14

>moonphase様  ありがとうございます。httpd.confを追記させていただきました。  質問投稿の文字制限のため、設定のコメントと思わしき部分は削除させていただいています。
moonphase

2016/11/22 00:18

EB環境ではないですが、Apache/2.2.15を使ってhttpd.confを全く同じものを利用し、 .htaccessを/var/www/html/app/webroot/に置いた場合と/var/www/html/に置いた場合で確認しましたが、両者とも302リダイレクトしています。 curlの結果はどうなってますか?私の環境では以下の通りです。 $ sudo curl -i http://localhost/ HTTP/1.1 302 Found Date: Tue, 22 Nov 2016 00:14:14 GMT Server: Apache Location: http://www.example.com/app/webroot/ Content-Length: 219 Content-Type: text/html; charset=iso-8859-1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>302 Found</title> </head><body> <h1>Found</h1> <p>The document has moved <a href="http://www.example.com/app/webroot/">here</a>.</p> </body></html>
kugino

2016/11/22 06:49 編集

>moonphase様  初めてのコマンドなので、すこしてまどりましたが、以下のようになりました。  新サイトではなく、旧サイト(.htaccessが置いてあるサーバー)のソースがそのまま表示されます。 $ sudo curl -i http://[旧ドメイン]/ HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 Date: Tue, 22 Nov 2016 06:41:58 GMT P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM" Server: Apache Set-Cookie: birthdaypress=vvd0ru6lhqhbita0b034rj8le2; expires=Fri, 22-Nov-2041 12:41:58 GMT; path=/transfer-encoding: chunked Connection: keep-alive <!DOCTYPE html> <html> <head>~~以降、旧ドメインサイトのソースが表示される~
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問