У меня есть файл web.config, который я пытался преобразовать в .htaccess, и он не работает должным образом. Мне бы очень хотелось узнать, где я ошибся.
web.config
<rewrite>
<rules>
<rule name="Redirect to https">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
</rule>
<rule name="Blocker" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{PATH_INFO}" pattern="^/version_" />
</conditions>
<action type="Redirect" url="https://www.example.com/404/" redirectType="Permanent" appendQueryString="false" />
</rule>
<rule name="API Director">
<match url="(.*)" />
<conditions>
<add input="{PATH_INFO}" pattern="^/api/v1/" />
</conditions>
<action type="Rewrite" url="/controller.php" />
</rule>
<rule name="HoverCart App" stopProcessing="true">
<match url=".*" />
<conditions>
<!--<add input="{HTTP_HOST}" pattern="^(.*)(quiverstest.)" />-->
<add input="{PATH_INFO}" pattern="^/newrelic/" negate="true" />
</conditions>
<action type="Rewrite" url="\app\{R:0}" />
</rule>
</rules>
</rewrite>
.htaccess
RewriteRule (.*) https://{HTTP_HOST}{REQUEST_URI}
RewriteCond %{PATH_INFO} ^/version_
RewriteRule (.*) https://www.example.com/404/
RewriteCond %{PATH_INFO} ^/api/v1/
RewriteRule (.*) /controller.php
RewriteCond %{PATH_INFO} ^/newrelic/
RewriteRule .* \app\$0
определенно / api / v1 не работает. Я получаю 404, когда его пытаются вытащить https://localhost/api/v1/app/
Если честно, я не очень разбираюсь ни в web.config, ни в .htaccess, я пытаюсь настроить на Mac что-то, что изначально было сделано для машин с Windows.
EDIT
самое важное правило, которое мне нужно переписать, это
<rule name="API Director">
<match url="(.*)" />
<conditions>
<add input="{PATH_INFO}" pattern="^/api/v1/" />
</conditions>
<action type="Rewrite" url="/controller.php" />
</rule>
это ошибка, которую я получаю
The requested URL /api/v1/app/ was not found on this server.
Additionally, a 404 Not Found
error was encountered while trying to use an ErrorDocument to handle the request.