2017-12-28 19 views
0

これは非常に基本的ですが、関連するスタックオーバーフローページを調べた後でさえ私をまだ逃しています。フォルダ内に書き換えます

私はこの

mysite.net/special/ 

は、この(ここでは、インデックス)、ブラウザではなく、もはや実際のアドレスで要求されたアドレスを示す

mysite.net/info/special/ 

を返すようにしたいです。

(ルートhtaccessファイルで、この付)私が持っている最も近い

RewriteRule ^special/$ info/special/ {QUERY_STRING} 

ですが、それは間違っているのです。

私はこれが直接のマッチ・アンド・置換であると思っていましたが、明らかにそうではありませんでした。

RewriteEngineがオンです。

ガイダンスが高く評価されました。ありがとうございました。

答えて

0
RewriteRule ^special/$ info/special/ [R=301,QSA,L] 

RewriteRule Flags

R = 301:リダイレクト永久

QSA:クエリ文字列を組み合わせ

L:最後のルール

0

私はのためのindex.phpとしてインデックスを想定していますあなたのインデックスファイル。あなたの既存のURLに書き換えています。

RewriteEngine on 
RewriteCond %{REQUEST_URI} ^/special/$ 
RewriteRule^info/special/index.php [L] 
+0

@Ben - ありがとうございます。私のブラウザ(Ffx、Saf)では、これらのフォームはどちらも正しいページを返しますが、リクエストされた短いアドレスではなく、実際の完全なアドレスを表示します。キャッシュがクリアされました。これは目的には十分ですが、なぜそれが起こっているのか、それが正しく動作するためには何が必要なのだろうと思います。 – Andante88

+0

まあ、リダイレクトするのは奇妙なことです。他のルールが動作していないことや、他のhtaccessがあることは間違いありません。 –

+0

これで動作します。執拗なテストの後、目に見えない理由で作業が開始されました。アップストリームhtaccessと他のルールはうまくいきました。多分キャッシュの不思議さ?ありがとうございました。このページが表示される可能性がある他の人には、これら2つのソリューションがどちらも機能します。 – Andante88

関連する問題