我想设置我的IIS7
的服务器,以便让它与写在一个Web应用程序laravel
(PHP框架)。
我发现类似的CI
( 链接 )
但它不工作laravel
(当然我删除了index.php
重定向)。
实际上只有主页作品( www.mysite.com/public
)
任何人使用/ d IIS7
与Laravel?
提前致谢
我想设置我的IIS7
的服务器,以便让它与写在一个Web应用程序laravel
(PHP框架)。
我发现类似的CI
( 链接 )
但它不工作laravel
(当然我删除了index.php
重定向)。
实际上只有主页作品( www.mysite.com/public
)
任何人使用/ d IIS7
与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:
这是我的工作文件,有两个规则:(网址指向公用文件夹)
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="RewriteRequestsToPublic">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
</conditions>
<action type="Rewrite" url="/{R:0}" />
</rule>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="/index.php/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
刚拿到它时间长谷歌和测试工作后。 下面是我的步骤:
laravel5与IIS 8.5
set PATH=%PATH%;%USERPROFILE%\AppData\Roaming\Composer\vendor\bin
composer global require "laravel/installer=~1.1"
lavarel new app
<app>/public
就这样,快乐Lavarel!
参考: http://alvarotrigo.com/blog/installing-laravel-4-in-windows-7-with-iis7/
如果你希望能够找回您的$ _GET变量不使用:
<match url="^(.*)$" ignoreCase="false" />
而是使用:
<match url="^" ignoreCase="false" />
这是我如何固定它。 打开配置文件,如果下面的映射不存在,就把下这些行
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)/$" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="/{R:1}" />
</rule>
<rule name="Imported 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>
要安装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
的程序添加网站。 和公用文件夹点指向Public
文件夹中的laravel /流明项目。
对于Laravel和流明项目。 在任何可访问的文件夹中创建的作曲家项目。 得到了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>