将web.config规则转换为.htaccess

时间:2018-12-17 18:04:54

标签: php .htaccess web-config

我必须将另一套web.config规则转换为.htaccess,我想确保正确进行转换。我目前无法测试它是否有效,因此我的原因是堆栈溢出。如果有人可以通过确认我的转换或帮助我解决错过的事情来帮助我。谢谢!

webn.config规则

<rule name="Rewrite to controller.php" stopProcessing="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTP_HOST}" pattern="^(developers.)" />
    <add input="{REQUEST_URI}" pattern="^/([_0-9a-z-]+)/controller.php" />
  </conditions>
  <action type="Rewrite" url="\controller.php" />
</rule>

<rule name="Rewrite to controller.php 2" stopProcessing="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTP_HOST}" pattern="^(developers.)" />
    <add input="{REQUEST_URI}" pattern="^/([_0-9a-z-]+)/([_0-9a-z-]+)/controller.php" />
  </conditions>
  <action type="Rewrite" url="\controller.php" />
</rule>

<rule name="Topics" stopProcessing="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTP_HOST}" pattern="^(developers.)" />
    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    <add input="{PATH_INFO}" pattern="^(/404|/js|/css|/img)+" negate="true" />
  </conditions>
  <action type="Rewrite" url="\index.php" />
</rule>

.htaccess文件 edit 我知道了http主机

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(developers.)
RewriteRule ^/([_0-9a-z-]+)/controller.php /developers/controller.php

RewriteCond %{HTTP_HOST} ^(developers.)
RewriteRule ^/([_0-9a-z-]+)/([_0-9a-z-]+)/controller.php /developers/controller.php

RewriteCond %{HTTP_HOST} ^(developers.)
RewriteRule ^(/404|/js|/css|/img)+ /developers/index.php

1 个答案:

答案 0 :(得分:0)

RewriteEngine On
RewriteRule ^([_0-9a-z-]+)/controller.php /developers/controller.php
RewriteRule ^([_0-9a-z-]+)/([_0-9a-z-]+)/controller.php /developers/controller.php
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(/404|/js|/css|/img)+ /developers/index.php