将IIS web.config转换为Apache.htaccess
我已经看到了很多关于如何从.htaccess转换到web.config的问题。从web.config到.htaccess,换一种方式似乎没有太多问题 以下是我需要转换为.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>
<?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&D=cp&C=login&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:如果这个答案解决了你的问题,请用绿色勾号将这个答案标记为已接受!谢谢没问题。不知道为什么我当时忘了这么做。我一直在谷歌上搜索,但有没有一个工具可以做到这一点?我找到了一个,但它不能转换为我的重写地图。