質問 > その他 > nginxを使ったサブディレクトリ運用でのリダイレクト処理 |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
umanari145 |
投稿日時: 2016/8/3 13:57
対応状況: −−−
|
新米 登録日: 2016/8/3 居住地: 投稿: 4 |
nginxを使ったサブディレクトリ運用でのリダイレクト処理 webサーバーにnginxを使い、あるドメイン(仮にexample.comとします。)のサブディレクトリでECCUBEを動かしたいと考えております。
ルートディレクトリが/var/www/html/だとすると /var/www/html/eccubeと配置し、 トップページ http://example.com/eccube 商品一覧ページ http://example.com/eccube/product/list などのURLでアクセスしたいと考えておりますが、この場合の対処法(eccubeの中の処理あるいはhtaccessやnginxのリダイレクトの書き換え方など)が わかる方がいましたら教えていただければ幸いです。 現時点では他のスレッド(http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=16523&forum=14&post_id=73015#forumpost73015)にありました http://amidaike.hatenablog.com/entry/2015/07/18/151143の方法 index.php、.htaccess、robot.txtをeccube直下に置き、index.php、path.ymlを書き換える方法も試してみましたが、 トップページ以外は404になってしまいます。 他のファイルはそのままです。 nginxの設定は下記のように書いております。 location ~ /eccube/(.*)$ { root /var/wwww/html; include fastcgi_params; try_files $uri $uri/ /index.php?$uri&$args; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; error_log /var/log/nginx/eccube.error.log notice; access_log /var/log/nginx/eccube.access.log; } 環境は以下の通りです。 CentOS 7.1 ECCUBE 3.0.10 PHP 5.4 MariaDB 5.5 nginx/1.9.3 |
shhirose |
投稿日時: 2016/8/8 12:52
対応状況: −−−
|
一人前 登録日: 2014/4/24 居住地: 投稿: 94 |
Re: nginxを使ったサブディレクトリ運用でのリダイレクト処理 EC-CUBE 側の設定はいじらずに、以下のように修正してみてはどうでしょうか。
root 部分を /var/wwww/html から /var/wwww/html/eccube/html へ変更 これで、/eccube/ でアクセスされた際のルートディレクトリが /var/wwww/html/eccube/html になるのでご希望の形になるのではないでしょうか。
|
umanari145 |
投稿日時: 2016/8/9 22:04
対応状況: −−−
|
新米 登録日: 2016/8/3 居住地: 投稿: 4 |
Re: nginxを使ったサブディレクトリ運用でのリダイレクト処理 shhirose様
ご回答ありがとうございます。 大変助かります。 ルートディレクトリの設定ですが、 root /var/wwww/html/eccube/html このように設定しますと http://example.com/eccube/ でアクセスしたときには /var/www/html/eccube/html/eccube/ を見に行くようになります。 rootのディレクトリ + URLのドメイン以下のパスにアクセスするようで、 こちらnginxの仕様かとおもっていましたが、なにか設定がおかしいのでしょうか。 |
shhirose |
投稿日時: 2016/8/10 10:58
対応状況: −−−
|
一人前 登録日: 2014/4/24 居住地: 投稿: 94 |
Re: nginxを使ったサブディレクトリ運用でのリダイレクト処理 引用:
http://example.com/eccube/ でアクセスしたときには /var/www/html/eccube/html/eccube/ を見に行くようになります。 root だとこの動作になりますね。すみません。 root ではなく、alias にしてください。
|
umanari145 |
投稿日時: 2016/8/10 15:08
対応状況: −−−
|
新米 登録日: 2016/8/3 居住地: 投稿: 4 |
Re: nginxを使ったサブディレクトリ運用でのリダイレクト処理 shhirose様
たびたびご回答ありがとうございます。 いただいたアドバイスをもとにnginxのlocationディレクティブ を下記のように設定しました。
こちらをもとにhttp://example.com/eccube にアクセスしますと、画面上にはFile not foundが表示され エラーログを見ますと FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 220.98.49.56, server: localhost, request: "GET /eccube/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000" このようにメッセージがはかれています。 エラーメッセージを検索してみますと、fastcgi_paramの設定が不適切な場合に このようになるようなのですが、 fastcgi_paramの設定がおかしいのでしょうか。 不適切な設定などありましたら教えていただければ幸いです。 |
shhirose |
投稿日時: 2016/8/10 16:23
対応状況: −−−
|
一人前 登録日: 2014/4/24 居住地: 投稿: 94 |
Re: nginxを使ったサブディレクトリ運用でのリダイレクト処理 http://serverfault.com/questions/565425/nginx-alias-php-fpm-file-not-found
上のサイトと同じように対応してみてはいかがでしょうか。 ※緑のチェックマークがあるコメント
|
umanari145 |
投稿日時: 2016/8/11 16:43
対応状況: −−−
|
新米 登録日: 2016/8/3 居住地: 投稿: 4 |
Re: nginxを使ったサブディレクトリ運用でのリダイレクト処理 shhirose様
たびたびのご回答ありがとうございます。 リンクのものにならって書き換えてみましたが、 やはり FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream,・・・ のエラーが出て正常に表示されませんでした。 私自身、ECCUBEといいますかnginx自体の知識が根本的に不足しているようですので、 もう少しnginxについて調べてみようと思います。 こちら解決出来たら書き込ませていただきます。 何度も回答していただきありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |