Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将IIS web.config转换为Apache.htaccess_Apache_.htaccess_Iis_Unix_Web Config - Fatal编程技术网

将IIS web.config转换为Apache.htaccess

将IIS web.config转换为Apache.htaccess,apache,.htaccess,iis,unix,web-config,Apache,.htaccess,Iis,Unix,Web Config,我已经看到了很多关于如何从.htaccess转换到web.config的问题。从web.config到.htaccess,换一种方式似乎没有太多问题 以下是我需要转换为.htaccess文件的配置文件: <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules>

我已经看到了很多关于如何从.htaccess转换到web.config的问题。从web.config到.htaccess,换一种方式似乎没有太多问题

以下是我需要转换为.htaccess文件的配置文件:

<?xml version="1.0" encoding="UTF-8"?>
 <configuration>
  <system.webServer>
    <rewrite>
        <rules>
            <rule name="Imported Rule 1" stopProcessing="true">
                <match url="^(.*)$" ignoreCase="false" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{R:1}" pattern="^(cms|css|files|images|js|themes|index\.php)" negate="true" />
                </conditions>
                <action type="Rewrite" url="/index.php/{R:1}" />
            </rule>
        </rules>
        <rewriteMaps>
            <rewriteMap name="login">
                <add key="http://server/cms/index.php?S=0&amp;D=cp&amp;C=login&amp;M=login_form" value="http://server/login" />
            </rewriteMap>
        </rewriteMaps>
    </rewrite>
    <httpErrors>
        <remove statusCode="403" subStatusCode="-1" />
        <remove statusCode="404" subStatusCode="-1" />
        <error statusCode="404" prefixLanguageFilePath="" path="/error404" responseMode="ExecuteURL" />
        <error statusCode="403" prefixLanguageFilePath="" path="/error403" responseMode="ExecuteURL" />
    </httpErrors>
 </system.webServer>
</configuration>

这其中有几个部分我还不确定,这就是为什么我不能自己弄清楚的原因

第一个是第一条规则的“条件”部分。我不知道如何将其转换为.htaccess规则

第二个是“httpErrors”部分。我可能只是大脑放屁,但我不记得如何在.htaccess文件中这样做

非常感谢您的帮助


干杯。

这里是除“重写地图”之外的所有内容,您无法在.htaccess中执行这些操作

RewriteEngine On
RewriteBase /

#rule name="Imported Rule 1" stopProcessing="true"
RewriteCond $1 !^/(cms|css|files|images|js|themes|index\.php) [NC]
RewriteRule ^(.*)$ /index.php/$1 [L]

#equivalent of your rewritemap rule, which you cannot do in htaccess
RewriteCond %{HTTP_HOST} ^server$
RewriteCond %{QUERY_sTRING} ^S=0&D=cp&C=login&M=login_form$ [NC]
RewriteRule ^cms/index\.php$ /login [L,R=301]


#httpErrors will server up error404 as file: change to html if that is file you want
ErrorDocument 404 /error404
ErrorDocument 403 /error403

以下是除RewriteMap之外的所有内容,您无法在.htaccess中执行这些操作

RewriteEngine On
RewriteBase /

#rule name="Imported Rule 1" stopProcessing="true"
RewriteCond $1 !^/(cms|css|files|images|js|themes|index\.php) [NC]
RewriteRule ^(.*)$ /index.php/$1 [L]

#equivalent of your rewritemap rule, which you cannot do in htaccess
RewriteCond %{HTTP_HOST} ^server$
RewriteCond %{QUERY_sTRING} ^S=0&D=cp&C=login&M=login_form$ [NC]
RewriteRule ^cms/index\.php$ /login [L,R=301]


#httpErrors will server up error404 as file: change to html if that is file you want
ErrorDocument 404 /error404
ErrorDocument 403 /error403

尝试还原尝试还原@SeanHagen:如果此答案解决了您的问题,请用绿色勾号将此答案标记为已接受!谢谢没问题。不知道为什么我当时忘了这么做。我一直在谷歌上搜索,但有没有一个工具可以做到这一点?我找到了一个,但它不能转换为我的重写地图。@SeanHagen:如果这个答案解决了你的问题,请用绿色勾号将这个答案标记为已接受!谢谢没问题。不知道为什么我当时忘了这么做。我一直在谷歌上搜索,但有没有一个工具可以做到这一点?我找到了一个,但它不能转换为我的重写地图。