web.config到.htaccess转换重写

时间:2016-08-29 14:31:37

标签: php apache .htaccess mod-rewrite web-config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
        <rules>
            <rule name="rule 1e" stopProcessing="true">
                <match url="^Assets/(.*)$"  />
                <action type="Rewrite" url="/php/Assets/{R:1}"  />
            </rule>
             <rule name="Imported Rule 0" stopProcessing="true">
                <match url="^(.*)$"  ignoreCase="true" />
                <action type="Rewrite" url="/php/index.php?url={R:1}" appendQueryString="true" />
            </rule>

        </rules>
        </rewrite>
    </system.webServer>
</configuration>

如何将其转换为.htaccess? 我搜索了一个转换器,但没有人

1 个答案:

答案 0 :(得分:1)

你可以手动完成。

  • 创建.htaccess文本文件。
  • 为每个<rule>集合制作RewriteRule
  • url="^...*$"正则表达式仍为匹配模式。
  • <action url=...>成为重写目标。
    • {R:1}将成为目标中的$1
    • 一个{R:2}同样$2等等。
  • <rule>这样的
  • stopProcessing标记在Apache规则中写为[L]。 例如,ignoreCase变为[NC]。 (参见further flags手册。)

例如:

  #                     <action url=>
  #                          ↓ 
  RewriteRule ^...*$  /path.php?param=$1  [NC,L]
  #             ↑                            ↑
  #        <match url=>                    flags