如何将web.config转换为.htaccess文件

时间:2016-11-04 11:48:26

标签: php .htaccess laravel web-config

我有一个在IIS8上托管的Laravel Web应用程序,这个应用程序有一个web.config到项目的根目录,另一个web.confing到/ public目录。 他们是不同的。 我没有.htaccess文件进入root,但我有一个.htaccess到我的/ public目录。 所以我应该将这个web.config转换为.htaccess 我怎么能这样做? 这是进入根项目的web.config



<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
        <rewrite>
            <rules>
                <rule name="Imported Rule 4">
                    <match url=".*" ignoreCase="false" />
                    <conditions>
                        <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:0}" />
				</rule>
                <rule name="Imported Rule 3" 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/index.php" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
&#13;
&#13;
&#13;

web.confing到/ public目录是

&#13;
&#13;
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Imported Rule 1" enabled="true" 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" enabled="true" 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>
&#13;
&#13;
&#13;

我发布了两个,因为我不知道哪些是正确的文件。

我已经有一个.htaccess进入我/ public目录并且它包含

&#13;
&#13;
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
&#13;
&#13;
&#13;

那么我的问题是什么?我的问题是我的本地机器上的这个应用程序(我使用xampp - apache和mysql)并不能很好地工作。 感谢大家的答案!

0 个答案:

没有答案