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

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

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

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

.htaccess

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

4307閲覧

アドレスバーに表示されるURLを、動的URL→静的URLに書き換えたいです。.htaccessにRewriteRuleを書きましたが、反映されません。

chibi

総合スコア20

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

.htaccess

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/03/30 19:57

編集2017/04/01 04:27

例えば、上のようなクエリ付きのURLを、下のような静的URLで表示させたいです。
.htaccessのRewriteRuleに正規表現で設定するのだと思いますが、書き方が分かりません。

http://example.com/directory/index.php?12345

http://example.com/directory/mypage12345

下記のように書いてみましたが、クエリがそのまま表示されてしまうし、googleにもリダイレクトされません。

RewriteEngine On RewriteRule ^/directory/mypage([0-9]+)$ /directory/index.php?$1 ErrorDocument 404 http://www.google.com/

Xサーバーです。
どうすれば良いのでしょうか?どなたか教えてください。

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

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

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

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

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

chibi

2017/03/31 02:33

すみません。修正しました。
Zuishin

2017/03/31 03:45

そのサーバーで .htaccess が使えるかどうか、.htaccess の権限はどうなっているか、この二点をチェックしてください。
chibi

2017/03/31 21:56 編集

サーバーパネルに.htaccess編集というのがあり、そこから編集しています。
kei344

2017/04/01 06:38

index.php?12345 ではなく mypage12345 のほうで回答を試されていますか?
guest

回答2

0

ベストアンサー

これを試してみてください。

RewiteEngine On RewriteRule ^/directory/mypage([0-9]+)$ /directory/index.php?$1

投稿2017/03/31 09:59

Zuishin

総合スコア28656

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

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

chibi

2017/03/31 17:52 編集

クエリがそのまま表示され、googleにリダイレクトもされません…。
Zuishin

2017/03/31 22:01

すみません。RewriteEngine の綴りが間違っていました。 それと、一度次を試してもらえますか? RewriteEngine On RewriteRule . /index.html これで、全て index.html になるかどうか確かめてみてください。
chibi

2017/04/01 04:14

やってみると、Internal Server Errorになりました。
Zuishin

2017/04/01 04:19

リダイレクトループしてるんじゃないですか? ほかにも .htaccess あるでしょう?
chibi

2017/04/01 04:30 編集

Xサーバーのサーバーパネルの.htaccess編集から編集してるので、他にはないはずです。
Zuishin

2017/04/01 04:37

他に無いとなるとエラーの意味がわかりませんね。.htaccess の内容はこれで全てですか? 他にも何か書いてありますか? また、エラーの詳細はわかりますか? エラーログを見る機能はありませんか?
chibi

2017/04/01 04:43

他には何も書いてないです。 エラーログには↓が出ています。 Failed to load resource: the server responded with a status of 500 (Internal Server Error)
Zuishin

2017/04/01 04:55

なるほど。では次はどうなりますか? RewriteEngine On RewriteRule . /directory/index.php /directory/index.php は実在のものにしてください。
chibi

2017/04/01 05:00

Internal Server Errorになりました。 エラーログはこうなっています↓ 500 (Internal Server Error)
Zuishin

2017/04/01 05:11

/directory/index.php は実在のものですね? ならば、一時的なものか恒久的なものかは知りませんが、RewriteRule が使えないようです。 契約では使えることになっていますか?
chibi

2017/04/01 05:28

実在のものです。
chibi

2017/04/01 05:29

契約はどうしたら確認できるかわかりません…。
Zuishin

2017/04/01 05:31

契約書を読んでください。手元になければお使いのプランのページから探してください。見つからなければ検索してください。または運営に尋ねてください。
chibi

2017/04/01 06:07

検索してみるとXサーバーでRewriteRuleを使ってるページがあるので、使えるようです。
Zuishin

2017/04/01 06:08

お使いのプランと同じプランでですか?
chibi

2017/04/01 08:23

Xサーバーにメールで問い合わせたところ、 「RewriteRuleを含めたmod_rewriteはご利用いただけます。 うまく反映されないとのことであれば、 記述内容に問題がないか、ご確認をお願いいたします。」 とのことです。
Zuishin

2017/04/01 08:28

では間違いの可能性があるところはやはり directory だと思います。隠す必要はないと思いますが、実際のものを書くことができますか? どういう URL でアクセスしたとき、どういう URL にしたいか、ドメインは example.com でかまいませんから、他の部分を書いてみてください。
chibi

2017/04/04 21:03

スラッシュを取ったら、上手くいきました。 RewriteRule ^directory/mypage([0-9]+)$ directory/index.php?$1
chibi

2017/04/04 21:05

ありがとうございました!
guest

0

他の条件がわかりませんが、質問のURLだけなら、下記で動かないでしょうか。

RewriteEngine On RewriteRule ^mypage([0-9]+)$ /index.php?$1 [L]

投稿2017/03/31 00:13

CHERRY

総合スコア25171

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

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

chibi

2017/03/31 01:18

ダメです…。
chibi

2017/03/31 02:08

?数字のクエリのまま表示されてしまいます。
CHERRY

2017/03/31 03:39 編集

お使いのサーバーは、どこのサーバーでしょうか?
chibi

2017/03/31 03:45

Xサーバーです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問