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

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

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

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Q&A

解決済

1回答

1457閲覧

Apacheでリライトの処理を書いているが一部うまくいかない...

okame

総合スコア54

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

0グッド

0クリップ

投稿2018/06/01 12:09

前提条件

  • apache ver2.4

※mod_rewriteを読み込み済みであること、httpd.confは編集不可であることを前提とします。

実現したいこと

以下のようなディレクトリ構造だったとして、

bash

1$ tree 2. 3│── .htaccess 4│── src 5│ └── AppBundle 6│ └── Controller 7|── admin 8│ └── index.php 9│ └── index.php 10└── web 11 |── css 12 └── style.css 13 └── js 14 └── common.js

ブラウザからのアクセスを、アセットファイルを格納している/web/配下を除き/src/AppBundle/Controller/配下にリライト(リダイレクトではない)したいと思っています。

試していること

ドキュメントルートに.htaccessを配置し以下のように書いたところ、

vim

1RewriteEngine On 2RewriteBase /src/AppBundle/Controller 3RewriteCond %{REQUEST_URI} !^/web/ 4RewriteRule ^(.*)$ $1 [L]

(URL)/admin/ のアクセスは /src/AppBundle/Controller配下にリライトされるのですが、
(URL) のアクセスはリライトされません。

以上です

お手数ですが皆さんのお知恵を拝借できれば幸いです。
宜しくお願いいたします。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/06/01 12:57

symfony/apache-pack、使ってますか?
okame

2018/06/01 13:43

Symfonyのディレクトリ構造を真似ているだけで、Symfonyは使っていないのです。
guest

回答1

0

ベストアンサー

URL のパスが「/」の場合、.htaccess に渡ると先頭の「/」が取り除かれて「」**(空)**になり、トレースログを出して見ると "initial URL equal rewritten URL" となってリライトされないようです。

RewriteBase は使わずに設定するといいと思います。

RewriteEngine On RewriteCond %{REQUEST_URI} !/src/AppBundle/Controller/ RewriteCond %{REQUEST_URI} !^/web/ RewriteRule ^(.*)$ /src/AppBundle/Controller/$1 [L]

または

RewriteRule ^src/AppBundle/Controller/ - [L] RewriteRule ^web/ - [L] RewriteRule ^(.*)$ /src/AppBundle/Controller/$1 [L]

投稿2018/06/01 16:16

TaichiYanagiya

総合スコア12146

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

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

okame

2018/06/01 21:00

ご教示いただいた内容で設定したら無事解決しました! 本当にありがとうございました!!\(^o^)/
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問