将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站点:)
工作