ApacheでAliasを切ったパス配下で、特定のエンドポイントだけを例外的に任意ローカルフォルダへマッピングする
ApacheでAliasを切ったパス配下で、特定のエンドポイントだけを例外的に任意ローカルフォルダへマッピングする
Aliasのネスト的なアプローチがあるのかしらと思ったけど、できずに手こずったのでメモ。
調べたところ、RewriteRuleのリダイレクト記法において、ローカルファイル・ディクトリを指定し、かつそれが存在する場合は、HTTPリダイレクトでなくファイルマッピング的動作をする模様。
Aliasを既に使用している場合はRewriteに頼るほかないらしい。
要件例
- サイトのコンテンツの置き場所は基本的に/var/www/site1
- /special以下のURLのみ、/var/www/site2にコンテンツ配置
- 上記に加えて更に/special/randing.htmlのみ/var/www/randing.htmlを参照
設定例
/etc/httpd/conf/httpd.conf
#大元の設定
DocumentRoot /var/www/site1
Alias /special /var/www/site2
#追記
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/special/randing.html$
RewriteRule ^(.*)$ /var/www/randing.html [L]
#他の設定と干渉してしまう場合等あれば下記も追記
<Files /var/www/randing.html>
Require all granted
</Files>
上記で/var/www/site2/randing.htmlではなく、/var/www/randing.htmlに配置されたコンテンツがレスポンスされる。
Author And Source
この問題について(ApacheでAliasを切ったパス配下で、特定のエンドポイントだけを例外的に任意ローカルフォルダへマッピングする), 我々は、より多くの情報をここで見つけました https://qiita.com/e_desutomo/items/ed2d746fa48bfd32b851著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .