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

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

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

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1722閲覧

htaccessのリダイレクト先のphpページで画像が表示されない

退会済みユーザー

退会済みユーザー

総合スコア0

Apache

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/07/07 14:01

編集2021/07/11 11:17

夜に質問失礼します。
ローカル環境下でhtaccessによるリダイレクトを試そうと、下記の設定を行いlocalhost直下のaaaaフォルダに同じlocalhost下のbbbbフォルダのphpファイルからアクセスしようとするとリライト自体はできるようになりました。
しかし転送先に飛ぶとaaaaフォルダのphpフォルダに飛べるものの、そのphpファイルに掲載している同じaaaaフォルダにある画像がCtrl+F5で更新すれば読めるのですがそのままでは即座に読み込めなくて困っています。
どうすればリライトした先で即座に画像ファイルを読み込めるようになりますか?

下記のソースはaaaaフォルダの画像ファイルにアクセスした場合、同じaaaaフォルダにある同名のphpファイルに飛ぶように設定しているつもりのものです。
よろしくお願いします。

htaccess

1RewriteEngine On 2RewriteBase / 3#RewriteCond %{HTTP_REFERER} !^$ 4# 検索エンジンと同じページ内からのアクセスは許可 5RewriteCond %{HTTP_REFERER} !^http(s)?://localhost(:8080.)?/aaaa[NC] 6RewriteCond %{HTTP_REFERER} !google. [NC] 7RewriteCond %{HTTP_REFERER} !bing. [NC] 8RewriteCond %{HTTP_REFERER} !yahoo. [NC] 9RewriteRule ^(.*).(png|bmp|gif|jpeg|jpg)$ $1.php [R=301,L]

追記
OSはWindows10でPHPのバージョンは7.4.19です。
こちらはPHPのソースです。

PHP

1<!DOCTYPE html> 2<html> 3<head> 4<script src="https://code.jquery.com/jquery-3.3.1.js"></script> 5</head> 6<body> 7 8 <p><font size="4">picture.png</font></p> 9 <p><img src="picture.png"></p> 10 11</body> 12</html>

PHP

1<html> 2<head> 3<script src="https://code.jquery.com/jquery-3.3.1.js"></script> 4</head> 5<body> 6 7 <p><a href="../aaaa/picture.png"><img src = "../aaaa/picture.png"></a></p> 8 9</body> 10</html>

よろしくお願いします

また追記です。
私の質問の立て方が悪かったです。
CentOS7でも動作を試そうとサーバにCyberPanelとopenlitespeedをインストールしてRewriteルール欄に記述して動かそうとするとリライトそのものができません。
ローカル環境だとリライト自体はできたのでどこが良くないのか教えていただけると幸いです。

htaccess

1RewriteEngine On 2RewriteBase / 3#RewriteCond %{HTTP_REFERER} !^$ 4RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?example.com [NC] 5RewriteCond %{HTTP_REFERER} !google. [NC] 6RewriteCond %{HTTP_REFERER} !bing. [NC] 7RewriteCond %{HTTP_REFERER} !yahoo. [NC] 8RewriteRule ^(.*).(png|bmp|gif|jpeg|jpg)$ %{SERVER_NAME}%{PATH_INFO}/$1.php [R=301,L]

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

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

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

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

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

m.ts10806

2021/07/07 21:24

.htaccessだけの問題ではないのでは。 コードは一通り提示してください。 あとPHPのバージョンとOSも提示してください
退会済みユーザー

退会済みユーザー

2021/07/08 02:08

すみません分かりました。出せるだけ出します。
m.ts10806

2021/07/08 02:29

例えば src = "../aaaa/picture.png?20210708" のようにクエリストリングつけても変わりませんか?
退会済みユーザー

退会済みユーザー

2021/07/08 06:00

変わりませんでした。 imgurみたいにうまくリダイレクトしたいのですが難しいですね。
guest

回答1

0

ベストアンサー

やっと分かりました。
RewriteCond %{HTTP_REFERER} !^http(s)?://localhost(:8080.)?/aaaa[NC]
を設定していましたがリライトしてもリファラが変わらないので
リライト先のページの画像がリライト対象=画像が無限リライトされる
という事でした。

別のやり方で解決しようと思います。
回答してくださったm.ts10806さんありがとうございました。

投稿2021/07/15 15:54

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問