![将 PHP 网站复制到 IIS 8.5 下的虚拟文件夹](https://linux22.com/image/677700/%E5%B0%86%20PHP%20%E7%BD%91%E7%AB%99%E5%A4%8D%E5%88%B6%E5%88%B0%20IIS%208.5%20%E4%B8%8B%E7%9A%84%E8%99%9A%E6%8B%9F%E6%96%87%E4%BB%B6%E5%A4%B9.png)
我想让现有的 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 错误。