質問: 本番サイト(`https://www.mydomain.or.jp/`)のファイルをコピーし修正したものを、テストサイトで確認しています。 本番とテストは別のサーバーです。 ファイルのリンクはルートパスから書かれており、テストサイトでリンク切れとなってしまいます。 そこで以下のように`.htaccess`をつかってファイルパスを読み替えて参照するようにして、リンク切れを解消したいです。(リンクのコードを書き換えない方法としたい) beforeはリンク切れが起こっているもので、afterのような絶対パスにリダイレクトさせたいということです。 この場合`.htaccess`の書き方、設置場所はどのようになりますか? `/`から始まる全てのリンクを差し替えたいです。 よろしくお願いいたします。 **before** ``` ``` **after** ``` ``` 次の記事にならって、下のように`.htaccess`を作成しましたがうまくいきません。 どこが誤りでしょうか? ``` RewriteEngine on RewriteRule ^(.*)\.((gif|png|jpe?g|css|ico|js|svg))$ https://www.mydomain.or.jp/$1.$2 ``` `mydir/index.html`で`index.html`がリンク切れを起こしている時、`.htaccess`を `mydir`と同じ階層に格納。`mydir` 配下の同様のリンクを全て差し替えたい。
回答: > > mydir/index.htmlでindex.htmlがリンク切れを起こしている時、.htaccessを > > mydirと同じ階層に格納。mydir 配下の同様のリンクを全て差し替えたい。 > > > この場合、`.htaccess` を置くのはリダイレクトしたいリソースに対応するディレクトリです。例: `ドキュメントルート/common/.htaccess` ブラウザは `mydir/index.html` を取得したあとに `mydir/` にはアクセスしません。 テスト環境であれば、`.htaccess` を使わずに `httpd.conf` に書いてしまってもいいかもしれません。 * そもそも mod_rewrite が使える環境かどうかも要確認です * .htaccess が使える設定かどうかも要確認です * 私だったら `index.html` に `` を書くだけで済ませるかもしれません。