将URL重写导入IIS 7.5

问题描述:

我试图通过IIS运行PimCore。但是我很难理解如何导入.htaccess文件。我成功地导入除了这两个所有规则:将URL重写导入IIS 7.5

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 

这将真正帮助,如果你人能告诉我如何导入这些到IIS 7 URL重写引擎。

在此先感谢。

以下是完整的htaccess文件:

RewriteEngine On 

RewriteCond %{REQUEST_METHOD} ^GET 
RewriteCond %{DOCUMENT_ROOT}/website/var/assets%{REQUEST_URI} -f 
RewriteRule ^(.*)$ /website/var/assets%{REQUEST_URI} [PT,L] 

RewriteRule ^website/var/tmp.* - [PT,L] 
RewriteRule ^website/var/assets.* - [PT,L] 
RewriteRule ^plugins/.*/static.* - [PT,L] 
RewriteRule ^pimcore/static.* - [PT,L] 

RewriteRule ^website/var/.*$/[F,L] 
RewriteRule ^plugins/.*$/[F,L] 
RewriteRule ^pimcore/.*$/[F,L] 

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

在日志中发现这一点:

PHP Fatal error: Interface 'Zend_Controller_Router_Route_Interface' not found in D:\pimcoreroot\pimcore\lib\Zend\Controller\Router\Route\Abstract.php on line 39 

解决了这个自己。

为了解决这个路由问题。 IIS 7.5有三个过程。首先需要做的是你自然需要IIS 7.5的URL重写。当做到这一点,请在web.config xml文件,这在粘贴。

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="Imported Rule 1" stopProcessing="true"> 
        <match url="^.*$" /> 
        <conditions logicalGrouping="MatchAny"> 
         <add input="{REQUEST_FILENAME}" 
          matchType="IsFile" pattern="" 
          ignoreCase="false" /> 
         <add input="{REQUEST_FILENAME}" 
          matchType="IsDirectory" 
          pattern="" ignoreCase="false" /> 
        </conditions> 
        <action type="None" /> 
       </rule> 
       <rule name="Imported Rule 2" stopProcessing="true"> 
        <match url="^.*$" /> 
        <action type="Rewrite" url="index.php" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 

这样做之后,进入IIS管理器,然后转到要pimcore上使用该网站。转到右侧操作面板上的导入规则按钮。在从顶部的第一个文本区域的进口规则文本区域中,粘贴此在:

RewriteEngine On 

RewriteCond %{REQUEST_METHOD} ^GET 
RewriteCond %{DOCUMENT_ROOT}/website/var/assets%{REQUEST_URI} -f 
RewriteRule ^(.*)$ /website/var/assets%{REQUEST_URI} [PT,L] 

RewriteRule ^website/var/tmp.* - [PT,L] 
RewriteRule ^website/var/assets.* - [PT,L] 
RewriteRule ^plugins/.*/static.* - [PT,L] 
RewriteRule ^pimcore/static.* - [PT,L] 

RewriteRule ^website/var/.*$/[F,L] 
RewriteRule ^plugins/.*$/[F,L] 
RewriteRule ^pimcore/.*$/[F,L] 

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

这样做后,点击应用,这将使pimcore的路由到您的IIS站点:)

工作