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

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

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

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

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

解決済

1回答

207閲覧

.htaccessを用いたRwriteruleの記述

SayakaxxSakura

総合スコア19

PHP

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

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

0クリップ

投稿2018/07/04 02:20

編集2018/07/04 03:32

PHPバージョン 7.2.3
mysql バージョン 5.0.12
codeigniter3系
開発環境 xamppローカルホスト

製作の都合上、表示させたいディレクトリ構造とは違うディレクトリにファイルを設置しています。

現在のファイル表示URLが

https://localhost/hoge/test

になっており変更後のURLを

https://localhost/news/practice/test

にファイルを移動させず表示URLだけを変更する事は可能でしょうか?
フォームページになるので遷移後のページも

https://localhost/news/practice/test/thanks

のようにしたいです。
.htaccessを記述してみたのですが、特に何も変わらず助けて頂ければと思い
投稿致しました。。

現状.htaccessには必要最低限のもの以外は記述しておりません。

何卒宜しくお願い致します。

<IfModule authz_core_module> Require all denied </IfModule> <IfModule !authz_core_module> Deny from all </IfModule> RewriteEngine on RewriteRule ^news/practice/test/(.*)$ /hoge/test/$1 [L]

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/07/04 02:34

〈.htaccessを記述してみたのですが、特に何も変わらず〉その .htaccess を添削してもらう手もあるよ?
m.ts10806

2018/07/04 02:34

自身が書かれたコードと起きた現象を具体的に記載してください。現状その「必要最低限のもの」が本当にそうかすら誰も判断できません。
m.ts10806

2018/07/04 02:50

「404のまま」というのは回答に対するコメントで初めて出てきた現象です。元から起きていたのでしょうか?私の方で「起きた現象を具体的に記載してください」についても質問に追記してください
SayakaxxSakura

2018/07/04 02:52

現在ディレクトリを置いているわけでもないので、存在するはずのないページにアクセスしています。それを無理やりhtaccessにて存在しないはずのURLをたたいて、違うリソースを引っ張ってこようという段階です。ですので、正常動作でなければ404が返ってくるのは通常であると判断しています。
m.ts10806

2018/07/04 02:56

なるほど。本来必要そうな前提部分が抜けていて(後出しが多い)要件が分かりづらくなっていますね。フレームワーク利用しているのでしたらまた別の対応が必要になってきます。前提・要件等 追記してください。
SayakaxxSakura

2018/07/04 02:57

申し訳ございません、ご指摘ありがとうございます。追記致します。
guest

回答1

0

ベストアンサー

https://localhost/news/practice/testにアクセスがあった場合、ブラウザのURLそのままで内容を差し替えてhttps://localhost/hoge/testの内容を返したいと言う事でしょうか?であれば、

Apache

1RewriteEngine On 2RewriteRule news/practice/test /hoge/test

です。

フォームページになるので遷移後のページも

それは、そのフォーム中にそのURLが書いてあるのでしょうから、HTMLを書き換えるしかない。

投稿2018/07/04 02:36

編集2018/07/04 03:07
otn

総合スコア84505

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

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

SayakaxxSakura

2018/07/04 02:44

ありがとうございます。 早速記述を追加し、アクセスしてみましたが、404のままでした。 Codeigniter3を用いて作業しているので、それも関係するのでしょうか?
otn

2018/07/04 03:07

すいません。タイプミスしていたので、コピペしたのならそれが原因です。
SayakaxxSakura

2018/07/04 03:25

コピペはしていないです。 一応現環境の追記を行っているので、見て頂けると幸いです。
otn

2018/07/04 03:28

間違ってますね。まず、RewriteEngine On がない。 RewriteRule ^(/news/practice/test/.*)$ /hoge/test/$ [L] は、 RewriteRule ^news/practice/test/(.*)$ /hoge/test/$1 [L] でしょう。 回答に書いてないことをして、その内容を書かず、うまく行かないと言われても、どうしようもないです。
SayakaxxSakura

2018/07/04 03:30

申し訳ございません、質問時点での内容ですので変更しておきます。 ちなみに上記ご指摘の通りに変更しましたが、いまだ404の状態で変更なしでした。
otn

2018/07/04 03:43

そういえば、Require all denied なので、そもそも403になりそうな気がしますが、この記述意図は何ですか?
otn

2018/07/04 03:44

あと、エラーログを確認して下さい。
SayakaxxSakura

2018/07/04 03:58

RewriteEngine on 以外の記述に関しては、.htaccessを開けた時点からあったものですので特に記述意図はありません。 URLの最後に/を記入したところ反映されました! ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問