1

背景: IIS 7 (Windows 2008) と Zend Framework を使用しています

私が取り組んでいるのは、リンク site/blog?Id=1 を site/blog/1 に書き直すことです。これが機能しない理由を誰か教えてもらえますか?

<rule name="RedirectUserFriendlyURL1" stopProcessing="true">
    <match url="^blog$" />
    <conditions>
        <add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
        <add input="{QUERY_STRING}" pattern="^Id=([^=&amp;]+)$" />
    </conditions>
    <action type="Redirect" url="blog/{C:1}" appendQueryString="false" />
</rule>
<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
    <match url="^blog/([^/]+)/?$" />
    <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    </conditions>
    <action type="Rewrite" url="blog?Id={R:1}" />

前もって感謝します。

4

2 に答える 2

2

代わりにこれを zend doc の言及として使用してください

 <?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>

ソース

于 2012-06-29T06:30:57.713 に答える
-1

.htaccessファイルで次のコードを試してください。

RewriteRule    ^blog/([0-9]+)/?$    blog?id=$1    [NC,L]    # Handle requests
于 2012-06-29T06:14:15.993 に答える