
お世話になります。
http://www.hoge.com/a
と入力した場合、末尾にスラッシュを補完する方法は分かったのですが今回、
「1回目に出現したスラッシュは補完し、2回目は補完しない」ということを行いたいのですが可能でしょうか?
(1)http://www.hoge.com/a ⇒(補完する)http://www.hoge.com/a/
(2)http://www.hoge.com/a/b/ ⇒(2回目以降のスラッシュは削除) http://www.hoge.com/a/b
としたいのですがこのような制御は可能でしょうか?
よろしくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
そもそも「httaccessでURL末尾のスラッシュの制御」をする意図は何でしょうか?
http://www.hoge.com/a
→ a がディレクトリなら、http://www.hoge.com/a/ でないといけない
http://www.hoge.com/a/b
→ b がディレクトリなら、http://www.hoge.com/a/b/ でないといけない
→ b がファイルなら、http://www.hoge.com/a/b でないといけない(最後に / が付いてはダメ)
が自然なURLです(default index を返すときにサーバ側で自動的にセットされるハズです)。でないと返したソースからの相対パス(ブラウザ側が認識しているパス)が違ったものになってしまいます。
#たまにpath_infoを利用して「ファイルをディレクトリに見せかける」ことは
#やりますが、外部cssもimg要素のsrc属性も全部DocumentRootからの
#パス(もしくはhttp:// からの記述)にしないといけなくなります。
この回答への補足
ご回答ありがとうございます。
制御する理由ですが、Webサイトのメンテナンスを依頼されまして、膨大な数存在するformのアクション先が「./test.php」という形で指定されており、またアドレスはmod_rewriteで変更されており、実際はパラメータが渡されている形となっています。
http://www.hoge.com/a/b ⇒ 実際はhttp://www.hoge.com/?hoge1=a&hoge2=b
読み込むページは一つ目のパラメータ(hoge1)に依存しているようで、2つ目のパラメータに値があるページとないページが混在しており、またリンク先も統一されておらず、同じリンク先でも
http://www.hoge.com/a/b
http://www.hoge.com/a/b/
というようにバラバラになってしまっています。
そのためformのAction先が「http://www.hoge.com/a/test.php」や「http://www.hoge.com/a/b/test.php」というようにバラバラになってしまっており、すべてのformを見つけ出すよりも早いのではと思いhtaccessでの制御を考えております。
どうぞよろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SEO googleサーチコンソールで、重複URLが多数発生、その修正方法について 2 2023/06/23 16:15
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- HTML・CSS 全部のアクセスを指定したページに転送させたい 2 2022/06/28 16:33
- PHP 画像ファイルの名前をそのままURLにする 3 2022/10/16 11:18
- PostgreSQL 【PostgreSQL】行の値の並びを変えるには 1 2023/03/21 16:46
- C言語・C++・C# プログラミングのペーパーテスト 実行結果を表示せよ #include <stdio.h> int h 1 2022/07/09 15:27
- JavaScript JavaScriptで「〇以上▲まで」の書き方 1 2022/07/20 14:44
- PHP PHPを使って、別サイトの一部を取得して表示したいのです。。 1 2023/01/18 21:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
zendframeworkの階層
-
VB.NETからVBAマクロ(引数)を呼...
-
PHPでの画像の形式の変換
-
[C#]Arraylistに追加した構造体...
-
Dosブロンプトでtabを出力したい
-
大至急お願いします ページのソ...
-
「取得先」という表現について
-
【C#】DataGridViewの最大列数...
-
リンク表示方法について2
-
4桁の乱数の発生
-
PHPで自動ログインの仕組み
-
電話番号のフォーマットについて
-
shシェルスクリプト 空白行の...
-
モジュールからルート名前空間...
-
携帯電話対応のカートって??
-
コンビニで住民票を取得した場...
-
Windowsのマクロプログラムで、...
-
PHPで値を保持する方法
-
php 入力画面から確認表示画面...
-
DBから行を取得したフィールド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA コレクションに2次元配列...
-
VB.NETからVBAマクロ(引数)を呼...
-
PHP、ヒアドキュメント内でのIF...
-
エラーの理由が分りません。Pri...
-
どういうプログラムを関数化を...
-
可変変数にアロー演算子を使いたい
-
protectedなのにアクセスできな...
-
PHPの名前空間インポートについて
-
ASPのResponse.WriteをPHPでは...
-
[C++]std:mapの扱いを教えて頂...
-
vb作成したらでbeep音が鳴りま...
-
PHPの変数値をリンクさせたい
-
次のhtml・cssでspan内の文字を...
-
既存関数の上書き
-
classの再定義エラーについて
-
[C#]Arraylistに追加した構造体...
-
.htaccessについて
-
共用体のサイズをsizeofで
-
PHPで呼び出し元の関数名の取得...
-
PHPでの画像の形式の変換
おすすめ情報