将 PHP 网站复制到 IIS 8.5 下的虚拟文件夹

将 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 Web 应用程序下,例如http://www.my_asp_net_website/php_app/。因此,我在 IIS 管理器中创建了一个虚拟目录“php_app”,指向目录 C:\...\\myphpdir,就像我对 ASP.NET 应用程序所做的那样。

现在我必须调整我的 web.config;但由于我不太熟悉重定向/重写规则和正则表达式,所以我问

web.config 中的正确重写规则是什么?

到目前为止我尝试的所有方法都导致缺少一些 .css 或出现 404 错误。

相关内容