前提
【0】
https://example.com/xxx/にアクセスすると、
https://example.com/xxx/aaa.cgiが表示(DirectoryIndex aaa.cgiで設定済)
このとき、URL欄は『https://example.com/xxx/』
【1】
そのページでcgiの<form>絡みの操作やページ遷移をすると、
URL欄は『https://example.com/xxx/aaa.cgi』になる
→これを、URL欄『https://example.com/xxx/』のままにできるならしたい。希望1
【2】
cgiが作成・表示されるリンクタグ<a href="$script?test=$test&no=$no#link">yyy</a>で遷移すると、
URL欄は『https://example.com/xxx/aaa.cgi?test=01&no=123#link』などになる(01や123の数値は不定)
→これが、URL欄『https://example.com/xxx/』のままにできるならしたい。希望2-a
→次点で、URL欄『https://example.com/xxx/aaa.cgi』とクエリ文字列を非表示・省略できるならしたい。希望2-b
実現したいこと
たとえば以下のようなURL表示を、
https://example.com/xxx/aaa.cgi?test=01&no=123#link
↓
中身はパラメーター通りに動作・処理したいが、ブラウザのアドレスバーはクエリ文字列(URLパラメータ)無しでスッキリ表示したい。
https://example.com/xxx/ ←これがベスト
https://example.com/xxx/aaa.cgi ←無理なら次点で
そもそもhtaccessでは不可能なんでしょうか……?
htaccess
1# 上位ディレクトリ(example)に設置 2<IfModule mod_rewrite.c> 3RewriteEngine On 4RewriteCond %{THE_REQUEST} ^.*/index.html 5RewriteRule ^(.*)index.html$ https://example.com/$1 [R=301,L] 6</IfModule> 7
htaccess
1# 該当ディレクトリ(xxx)に設置 2DirectoryIndex aaa.cgi 3
試したこと・発生している問題
URL欄クエリそのまま(本来のまま)表示される
htaccess
1# 該当ディレクトリ(xxx)に設置 2DirectoryIndex aaa.cgi 3 4<IfModule mod_rewrite.c> 5RewriteEngine on 6RewriteCond %{REQUEST_FILENAME} !-f 7RewriteCond %{REQUEST_FILENAME} !-d 8RewriteRule ^(.*)$ aaa.cgi?$1 [L] 9</IfModule> 10
回答2件
あなたの回答
tips
プレビュー