「Mod mono」の版間の差分

imported>Administrator
編集の要約なし
 
(2人の利用者による、間の6版が非表示)
1行目: 1行目:
{{小文字}}
'''mod_mono'''とは、Apacheと[[XSP]]を連携させるモジュールである。ApacheとTomcatを連携させるmod_proxy_ajpやmod_jkと似たようなものと思って間違いない。
'''mod_mono'''とは、Apacheと[[XSP]]を連携させるモジュールである。ApacheとTomcatを連携させるmod_proxy_ajpやmod_jkと似たようなものと思って間違いない。


== 設定例 ==
== 設定例(Apache) ==
以下にFreeBSDでportsを使ってインストールした場合の例を示す。
以下にFreeBSDでportsを使ってインストールした場合の例を示す。
FreeBSDでportsを用いてインストールした場合のパス設定となっているので適宜書き換えてください。
FreeBSDでportsを用いてインストールした場合のパス設定となっているので適宜書き換えてください。
87行目: 88行目:


=== 方法2:.htaccessで設定する ===
=== 方法2:.htaccessで設定する ===
ASP.NET MVCのルートディレクトリに.htaccessファイルを作り以下の内容を記述する。
[[ASP.NET MVC]]のルートディレクトリに.htaccessファイルを作り以下の内容を記述する。
なおForceTypeを用いる方法では
<source lang="apache">
<source lang="apache">
ForceType application/x-asp-net
## 旧:
## この方法ではASP.NET MVC 1は動いていたのだが、
## なぜかASP.NET MVC 3が動かなかった。
#ForceType application/x-asp-net
 
## 新:
## これでASP.NET MVC 3が動いた。これが正しいかは不明。とりあえず動いた。
SetHandler mono
# すべてをxspに処理させても良いが速度的に不利なので特定拡張子を弾く(apacheに任せる)。
<FilesMatch "\.(gif||jpg|jpeg|png|css|ico|xsl|js|zip|avi|mov|wmv|flv|swf)$">
    SetHandler None
</FilesMatch>
</source>
</source>


.htaccessが使える設定になっていることが大前提である。
Apacheの設定で.htaccessが使えるようになっていることが大前提である。
また、DocumentRoot直下ではなくサブディレクトリに展開する場合は.htaccessがサブディレクトリでも使える設定になっていないと使えない。
また、[[ASP.NET MVC]]アプリをDocumentRoot直下ではなくサブディレクトリに展開する場合は.htaccessがサブディレクトリでも使える設定になっていること。


[[ASP.NET MVC]]を[[Mono]]で使う場合は、プロジェクト内に.htaccessファイルを作っておき、ファイルのプロパティにあるビルドアクションを「コンテンツ」にしておくと、発行時にコピーされるので一元管理できて便利。
[[ASP.NET MVC]]を[[Mono]]で使う場合は、プロジェクト内に.htaccessファイルを作っておき、ファイルのプロパティにあるビルドアクションを「コンテンツ」にしておくと、発行時にコピーされるので一元管理できて便利。


Visual Studio 2010の「新しい項目」でテキストファイルを新規作成すると、そのファイルの文字コードはUTF-8のBOM付きとなるが、.htaccessファイルにBOMが付いているとapacheでエラーとなるので注意。
Visual Studio 2010の「新しい項目」でテキストファイルを新規作成すると、そのファイルの文字コードは「UTF-8のBOM付き」となるが、.htaccessファイルにBOMが付いているとapacheでエラーとなるので注意。
 
[[ASP.NET MVC 3]]については「[[ASP.NET MVC 3#Monoでの動かし方]]」を参照。


== 関連項目 ==
== 関連項目 ==
* [[asp-state]]
* [[XSP]]
* [[ASP.NET MVC]]
* [[Monoのインストール]]
* [[Monoのインストール]]
* [[asp-state]]


{{stub}}
{{stub}}