teratail header banner
teratail header banner
質問するログイン新規登録
URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

.htaccess

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

Q&A

2回答

5616閲覧

URLの一部を非表示にしたい

gospelhaiku

総合スコア12

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

.htaccess

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

0グッド

0クリップ

投稿2018/10/23 09:12

0

0

前提・実現したいこと

cgiでWebページを表示しているのですが、表示されるURLから一部を非表示にしたい。

https://memo.textgh.org/index.cgi?12345678
と表示される部分を

https://memo.textgh.org/12345678
としたいのです。

やってみたこと

htaccess に 下記を記述して試しましたがうまくいきません。

RewriteEngine on RewriteRule ^(.*)$ index.cgi?/$1 [L]

聞きたいこと

いろいろ記述を試行錯誤しています正規表現マッチの知識がなくがうまくいきませんので質問しました。サーバーはxserver です。

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

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

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

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

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

guest

回答2

0

htaccess に 下記を記述して試しましたがうまくいきません。

htaccessじゃなくて.htaccessですが、それは大丈夫でしょうか?
また、ドキュメントルートの直下に置いていますか?

そもそも、

うまくいきません。

の具体的な現象は何でしょうか?状況の情報がゼロなので、上記以外には何とも。

投稿2018/10/23 12:49

otn

総合スコア86349

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

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

gospelhaiku

2018/10/23 13:14 編集

otnさん、ありがとうございます。 .htaccess と書くべきでした。ごめんなさい。 xserver の場合、/home/ドメイン名/public_html/subdir/ という構成になります。 サブドメインを使う場合に、public_htmlの直下にサブディレクトリが切られます。 public_htmlとサブディレクトリの両方に .htaccess を置いて試しましたが、表示に変化はありませんでした。 おかしな表示になるのなら正規表現の書き方に問題があるのかなと思うのですが、全く反応がないので、.htaccess そのものが機能していなのかなという感じがします。 初心者なので曖昧なコメントになってすみません。
otn

2018/10/23 13:18

「全く反応がない」を文字通り解釈すると、ブラウザが応答待ち状態をずっと続けるという意味になりますが、そんなことは考えにくいので、違うのでは? 何も解釈せず、見たままを客観的具体的に書いてください。
gospelhaiku

2018/10/23 13:27 編集

言葉が不適切でしたね。設定後、念のためにプラウザを再起動してアクセスしてみましたがURLの表示にはまったく変化がない…という意味です。 サーバーの関係かも知れませんのでサポートに質問してみます。ありがとうございました。
otn

2018/10/23 13:31

> URLの表示にはまったく変化がない…という意味です。 いやだからそれを客観的具体的に。 今のままでは、あなたの所で何が起こっているのか誰にも分かりません。
gospelhaiku

2018/10/23 13:39

ごめんなさい。 これ以上どう説明すればいいのかもわからない未熟ものですので本件の解決は諦めます。 貴重なお時間を無駄にさせてしまいました。お許しください。
otn

2018/10/23 13:52 編集

「見たままを客観的具体的に書いてください」という言葉の意味がわからないのでしょうか? ブラウザからどういうURLでアクセスして、その結果、ブラウザのアドレスバーと、ブラウザ画面に何が表示されたかをコピペして下さい。
guest

0

"?" の次の "/" が不要なのではないでしょうか。

htaccess

1RewriteEngine on 2RewriteRule ^(.*)$ index.cgi?$1 [L] 3

上記の記述だとすべてのリクエストを index.cgi に渡す動きになります。
画像ファイルやCSSファイルなど、ファイルとして存在するものは除外する場合は、下記のような条件を追加することで対応できるかと思います。

htaccess

1RewriteEngine on 2RewriteCond %{REQUEST_FILENAME} !-f 3RewriteCond %{REQUEST_FILENAME} !-d 4RewriteRule ^(.*)$ index.cgi?$1 [L] 5

投稿2018/10/23 11:33

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

gospelhaiku

2018/10/23 11:44

suyama さん、ご指導感謝します。 "/" とって見ましたが変化がありません。 xserverに確認したら RewriteEngine on は有効とのことでしたので、ほかに原因があるのでしょうか。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問