ややこしい条件ですが、タイトルのことをしたくなったので書きました。
条件は以下。
https://example.com/hoge/
) の配下https://example.com/hoge/fuga/
)errorXXX.html
のようなURLになっているものとします)css
, js
, jpg
, gif
, png
, svg
, ico
, xml
, otf
, ttf
, woff
, woff2
)RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (MSIE|Trident) [NC]
RewriteCond %{REQUEST_URI} !(^/hoge/error-ie.html$)
RewriteRule ^(.*)$ /hoge/error-ie.html [R,L]
RewriteCond %{REQUEST_URI} !(^/hoge/(index\.html)?$)
RewriteCond %{REQUEST_URI} !(^/hoge/fuga/)
RewriteCond %{REQUEST_URI} !(^/hoge/error(.*)\.html)
RewriteCond %{REQUEST_URI} !\.(css|js|jpg|gif|png|svg|ico|xml|otf|ttf|woff|woff2)$
RewriteRule ^(.*)$ http://example.com/hoge/ [R=302,L]
ErrorDocument 404 /hoge/error404.html
ErrorDocument 500 /hoge/error500.html
こんな感じで対処。
しかし .htaccessでサブディレクトリ内のURLをリダイレクト とか `.htaccess` で全アクセスをリダイレクトする とか、わりとこの手のを頻繁にやっている気がしますね……おおよそパターンも掴めているので、ジェネレータとか作った方が良いのかもしれない。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント