(php フレームワーク)IIS7
で記述された Web アプリケーションで動作するようにサーバーをセットアップしたいと考えています。laravel
CI
(リンク)に似たものを見つけました
しかし、それは機能しません(もちろん、リダイレクトlaravel
を削除しました)。index.php
実際に動作するのはホームページのみです ( www.mysite.com/public
)
/dIIS7
を Laravel で使っている人はいますか?
前もって感謝します
(php フレームワーク)IIS7
で記述された Web アプリケーションで動作するようにサーバーをセットアップしたいと考えています。laravel
CI
(リンク)に似たものを見つけました
しかし、それは機能しません(もちろん、リダイレクトlaravel
を削除しました)。index.php
実際に動作するのはホームページのみです ( www.mysite.com/public
)
/dIIS7
を Laravel で使っている人はいますか?
前もって感謝します
web.config
次のルートフォルダにファイルを作成しました<configuration></configuration>
:
<system.webServer>
<defaultDocument>
<files>
<clear />
<add value="index.php" />
<add value="default.aspx" />
<add value="Default.htm" />
<add value="Default.asp" />
<add value="index.htm" />
<add value="index.html" />
</files>
</defaultDocument>
<handlers accessPolicy="Read, Execute, Script" />
<rewrite>
<rules>
<rule name="Imported Rule 2" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="public/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
次に、このガイドに記載されているindex.php
ように、パブリックフォルダのファイルをプロジェクトのルートフォルダにコピーします。../paths.php
paths.php
今ではすべてが完璧に機能します
私は以下のコードを使用しました 。パスを変更せずにすぐに動作するのではindex.php/{R:1}
なく、リダイレクトします。public/{R:1}
<rewrite>
<rules>
<rule name="Imported Rule 2" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" />
</rule>
</rules>
</rewrite>
長い時間のグーグルとテストの後、ちょうどそれが機能するようになりました。これが私の手順です:
IIS 8.5 を使用した laravel5
set PATH=%PATH%;%USERPROFILE%\AppData\Roaming\Composer\vendor\bin
composer global require "laravel/installer=~1.1"
lavarel new app
<app>/public
以上、ハッピーラヴァレル!
参照: http://alvarotrigo.com/blog/installing-laravel-4-in-windows-7-with-iis7/
IIS でハンドラー マッピングを確認します。
$_GET 変数を取得できるようにしたい場合は、次を使用しないでください。
<match url="^(.*)$" ignoreCase="false" />
代わりに次を使用します。
<match url="^" ignoreCase="false" />
IIS
Windows にインストールするには、リンクをクリックしてクリックし、オプションを選択しcontrol panel -> uninstall programs
ます。Turn Off Windows Features On/Off
IIS
CGI
Web Platform Installer
インターネットからダウンロードinstall PHP and SQL drivers for IIS
プログラムから開くIIS
Web サイトを追加します。Public
public フォルダーの場合は、laravel/lumen プロジェクトのフォルダーをポイントします。
Laravel および Lumen プロジェクト用。アクセス可能な任意のフォルダーに composer からプロジェクトを作成します。public
フォルダー構造のフォルダーに移動し、以下の内容でファイルを作成しますweb.config
。これはlaracastsから取得しました
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Rule 1" stopProcessing="true">
<match url="^(.*)/$" ignoreCase="false" />
<action type="Redirect" redirectType="Permanent" url="/{R:1}" />
</rule>
<rule name="Rule 2" stopProcessing="true">
<match url="^" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>