IIS URL Rewrite機能
Magic xpaでAPGで遊んでいるうちは気が付かないのですが「ルーティング」を使いだすと壁にぶち当たります。
ローカルのIISを使用して
http://localhost/アプリ名/プログラム名/値1
などと動かそうとすると「そんなページはありません」とエラーがでます。たしかにIndex.htmlなどないのですから当たり前です。
Apacheやnginxなんかをやっている人ならすぐにわかる例のアレを設定する必要があります。
URL Rewrite機能
URLを正規表現を使用してパラメーターとして扱う技術なんですがIISでは最初から搭載されていないはずです。
そこでIISにURL Rewrite機能を搭載することとなります。
ちなみに弊社ではIISではなくnginxを使用しています。
URL Rewrite(自己責任でお願いいたします;;)
プログラムをインストールするとIISでURL Rewriteを使用できるようになります。
Angularの設定①
src/web.configを作成
内容を
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Angular Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="./index.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
とします。
これが正規表現でRewriteするルールです。
②angular.jsonの変更
"assets": [
"src/favicon.ico",
"src/assets",
"src/web.config"
],
"src/web.config"を追加します。
コンパイルするとdistフォルダにweb.configがコピーされます。
③コンパイル
ng build --prod --base-href=/アプリ名/
でコンパイルを行います。
これでIIS上にてMagic xpaでルーティングしたプログラムもなんなく動くはずです^-^。
nginxでのやり方とかはまた次回!!
-
竹本 靖夫 さん
11月13日Magicians Meeting 2020に講演されるのですね
楽しみにしています。
-
ISHIJIMA さん。きっと顔がこわばっていると思いますがよろしくお願いいたします^-^!!
-
IIS URL Rewrite機能を教えてくださり、ありがとうございます。
試してみたいと思います。
そして「Magicians Meeting 2020」の講演も楽しみにしております!(^^)!
サインインしてコメントを残してください。
コメント
3件のコメント