Я хотел бы, чтобы существующий веб-сайт PHP (Apache) работал в виртуальной папке под IIS 8.5.
С помощью некоторых хороших онлайн-инструментов я перевел следующий контент .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
в web.config:
<rule name="rule 1" stopProcessing="true">
<match url="^index\.php$" />
<action type="Rewrite" url="/-" />
</rule>
<rule name="rule 2" stopProcessing="true">
<match url="." />
<action type="Rewrite" url="//index.php" />
</rule>
Это отлично работает для некоторых URL-адресов, например http://www.my_new_website.com/
.
Однако моя цель - заставить этот веб-сайт работать в виртуальный каталог под веб-приложением ASP.NET, например http://www.my_asp_net_website/php_app/
. Поэтому я создал виртуальный каталог «php_app» в диспетчере IIS, указывающий на каталог C: \ ... \\ myphpdir, как я бы сделал для приложения ASP.NET.
Теперь я должен адаптировать свой web.config; но поскольку я не очень хорошо знаком с правилами перенаправления / перезаписи и регулярными выражениями, я спрашиваю ты:
Каковы правильные правила перезаписи в web.config?
Все, что я пробовал до сих пор, приводило к отсутствию некоторых ошибок .css или 404.