前提・実現したいこと
上流フォルダの.htaccessの影響を受けないようにしたいのですが、
下流フォルダの.htaccessをどのように記載すればいいでしょうか。
ひとつづつ上書きするしか方法がないと思っておりますが、何か有効な方法がございましたら、ご教授いただけるとありがたいです。
上流フォルダの.htaccessの内容は下記になります。
RewriteEngine on
RewriteBase /
## 本番環境
RewriteCond /var/www/.production -f
RewriteRule ^.*$ - [E=APPLICATION_ENV:production]
## サポート環境
RewriteCond /var/www/.support -f
RewriteRule ^.*$ - [E=APPLICATION_ENV:support]
## テスト環境
RewriteCond /var/www/.test -f
RewriteRule ^.*$ - [E=!APPLICATION_ENV]
## HTTPSへリダイレクト
##RewriteCond %{HTTPS} !^on$
##AWS + LB+HTTPS ヘッダが存在していて、httpsではない時
RewriteCond %{HTTP:X-Forwarded-Proto} ^.
RewriteCond %{HTTP:X-Forwarded-Proto} !^https$
RewriteRule ^.*$ - [E=FORCEHTTPS:1]
##AWS時、HTTPSヘッダを設定
RewriteCond %{HTTP:X-Forwarded-Proto} ^https$
RewriteRule ^.*$ - [E=HTTPS:on]
## それ以外のテスト開発環境で、httpsを強制する場合
RewriteCond %{HTTPS} !^on$
RewriteCond /var/www/.https -f
RewriteRule ^.*$ - [E=FORCEHTTPS:1]
## テストモード時はSSLを強制しない。
RewriteCond /var/www/.test -f
RewriteRule ^.*$ - [E=!FORCEHTTPS]
## SSLへリダイレクト
RewriteCond %{ENV:FORCEHTTPS} .
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
## メンテナンスメッセージを表示する。
RewriteCond /var/www/.maintenance -f
RewriteRule ^.*$ - [E=MAINTENANCE:1]
## アクセス拒否
RewriteCond %{REQUEST_URI} ^/.svn/
RewriteRule ^.*$ - [F,L]
## XXX.XXX.XXX.XX からアクセスは許可
RewriteCond %{REMOTE_ADDR} ^XXX.XX.XXX.XXX$
RewriteRule ^.*$ - [E=!MAINTENANCE]
RewriteCond %{HTTP:X-Forwarded-For2} ^.
RewriteCond %{HTTP:X-Forwarded-For2} ^XXX.XX.XXX.XXX$
RewriteRule ^.*$ - [E=!MAINTENANCE]
RewriteCond %{HTTP:X-Forwarded-For} ^.
RewriteCond %{HTTP:X-Forwarded-For} XXX.XX.XXX.XXX
RewriteRule ^.*$ - [E=!MAINTENANCE]
## MAINTENANCE が設定されているときは、メンテナンス画面へ遷移
RewriteCond %{REQUEST_URI} !^/_error/
RewriteCond %{REQUEST_URI} !^/img/
RewriteCond %{REQUEST_URI} !/live.html
RewriteCond %{ENV:MAINTENANCE} .
RewriteRule ^.*$ - [R=503,L]
RewriteCond %{REQUEST_FILENAME} /index.(php|html)$
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.)/index.(.?) $1/ [L,R=301]
RewriteCond %{REQUEST_URI} !^/_error/
RewriteCond %{REQUEST_FILENAME} .html$
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*) /var/www/html/commontools/htmloutput.php/$1 [L]
RewriteCond %{REQUEST_URI} !^/_error/
RewriteCond %{REQUEST_FILENAME} .css$
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*) /var/www/html/commontools/htmloutput.php/$1 [L]
## 旧URLのリダイレクト
RewriteRule ^support.html(?.)?$ /support/ [L,R=301] [L]
RewriteRule ^qa.html(?.)?$ /support/faq_disp.php [L,R=301]
RewriteRule ^e_tax.php(?.)?$ /product/denshi/ [L,R=301]
RewriteRule ^e_tax.html(?.)?$ /product/denshi/download.php [L,R=301]
RewriteRule ^ordering/index.php(?.)?$ /product/info_new.html [L,R=301]
RewriteRule ^download.html(?.)?$ /support/dl_disp.php [L,R=301]
RewriteRule ^qa.html(?.*)?$ /support/faq_disp.php [L,R=301]
##画像が存在しない時はオンデマンドでDBから取得して出力
RewriteCond %{REQUEST_URI} !^/_error/
RewriteCond %{REQUEST_URI} ^/img/images/
RewriteCond %{REQUEST_URI} .(gif|png|jpg|pdf|exe)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.) $1?__resized=1 [C,QSA]
RewriteRule ^(.) /var/www/html/commontools/filedbread.php/$1 [L]
##画像をオンデマンドリサイズ
RewriteCond %{REQUEST_URI} !^/_error/
RewriteCond %{REQUEST_URI} .(png|jpg)$ [NC]
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{QUERY_STRING} !__resized=1 [NC]
RewriteCond %{QUERY_STRING} size=[0-9]+x[0-9]+[tps]?$ [NC,OR]
RewriteCond %{QUERY_STRING} size=[0-9]+$ [NC]
RewriteRule ^(.) $1?__resized=1 [C,QSA]
RewriteRule ^(.) /var/www/html/commontools/imageresize.php/$1 [L]
php_value include_path .:/var/www/html/phplib/:/usr/share/pear:/usr/share/php:/var/www/share/php/ZendFramework-1.12.5/library:/usr/share/php/ZendFramework-1.12.5/library
php_value auto_prepend_file "common_init2.inc.php"
## phpのメモリ制限とファイルアップロード最大サイズ
php_value max_execution_time 180
php_value memory_limit 384M
php_value post_max_size 128M
php_value upload_max_filesize 128M
php_value max_input_vars 100000
#php_value display_errors 0
ErrorDocument 404 /_error/404.html
ErrorDocument 403 /_error/403.html
ErrorDocument 400 /_error/400.html
ErrorDocument 500 /_error/500.html
ErrorDocument 503 /_error/503.html
## キャッシュを強制する設定
<IFModule mod_headers.c>
# IE コンテンツタイプを無視しないように設定
Header always append X-Content-Type-Options "nosniff"
Header always append X-XSS-Protection 1
Header always append X-Frame-Options SAMEORIGIN
# DNS Prefetching 有効 Header set X-DNS-Prefetch-Control "on" # Referrerポリシー Header set Referrer-Policy 'origin, origin-when-cross-origin'
## 引数のないものは短時間キャッシュ
RewriteCond %{REQUEST_URI} .(js|css|ico|jpe?g|png|gif)$ [NC]
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{QUERY_STRING} ^$ [NC]
RewriteRule ^.*$ - [env=CACHE_SHORT:1]
Header onsuccess set Cache-Control "s-maxage=60, max-age=600" env=CACHE_SHORT
##favicon.icoは長期間キャッシュさせる
RewriteCond %{REQUEST_URI} /favicon.ico$ [NC]
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{QUERY_STRING} ^$ [NC]
RewriteRule ^.*$ - [env=CACHE_FAVICON:1]
Header onsuccess set Cache-Control "immutable, s-maxage=600, max-age=86400, stale-while-revalidate=31536000" env=CACHE_FAVICON
## 引数付きのファイルは長期間キャッシュさせる
## =引数付きのファイルは長期間キャッシュさせる
RewriteCond %{REQUEST_URI} .(js|css|ico|jpe?g|png|gif)$ [NC]
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{QUERY_STRING} ^[0-9a-f]+(.(js|css|ico|jpe?g|png|gif))?$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*?&)?=.?(&.)?$ [NC]
RewriteRule ^.*$ - [env=CACHE_LONG:1]
Header onsuccess set Cache-Control "immutable, s-maxage=600, max-age=2592000, stale-while-revalidate=31536000" env=CACHE_LONG
## index.html等のないディレクトリでインデックスリストを作成しない
Options -Indexes
発生している問題・エラーメッセージ
下流に.htaccessを配置せずに、下流フォルダのhtmlファイルにアクセスすると、
404エラーになります。
試したこと
下流フォルダ(htmlファイルが存在するフォルダ)の.htaccessに下記を記入すると、
404エラーは出ません。
RewriteEngine on
RewriteBase /
Order allow,deny
Allow from all

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。