Назад | Перейти на главную страницу

Скопируйте веб-сайт PHP в виртуальную папку под IIS 8.5

Я хотел бы, чтобы существующий веб-сайт 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.