从IIS服务器(web.config)上的永久链接的url中删除index.php

时间:2016-11-03 作者:Jabel Márquez

我在自己的文件夹(my domain.com/site)中安装了一个WP,我正在尝试在我的域上运行该站点。com。我没有移动安装文件,实际上我只是giving to WP its own directory.

WP安装正在运行IIS server. 所以我有一个web.config 文件

我已经完成了Wordpress Codex所说的步骤:

将网站地址更改为“我的域”。com

  • 。php(根目录)我更改了此行:require( dirname( __FILE__ ) . \'/site/wp-blog-header.php\' );
  • 根据WP Codex for Permalinks without mod_rewrite, 在permalinks设置(仪表板中)中,我设置为:/index.php/%postname%/. 如果我删除index.php 永久链接设置中的部分不再工作。

    目前,我的永久链接正在工作,但以这种方式:我的域。com/索引。php/page\\u示例。我想从url中删除“/index.php/”部分。

    在我的web.config 我有:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
      <system.webServer>
        <rewrite>
          <rules>
            <rule name="wordpress" stopProcessing="true">
              <match url=".*" />
              <conditions logicalGrouping="MatchAll">
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
              </conditions>
              <action type="Rewrite" url="index.php" />
            </rule>
          </rules>
        </rewrite>
      </system.webServer>
    </configuration>
    
    我甚至试过添加一个<clear/> before add the rule 但没有成功。

    Note: 如果我将网站地址(URL)保留为:“我的域”。从permalinks设置中删除“/index.php/”部分,permalinks的工作原理如下:我的域。com/page\\u示例。

    有没有办法解决这个问题?也许我在网络上遗漏了一些规则。配置

    2 个回复
    SO网友:Jabel Márquez

    IIS服务器上安装了能够读取.htaccess 文件;忽略了web.config 所以WP documentation 具有.htaccess 对我有用。

    SO网友:Pratik bhatt

    请在您的网站中尝试以下内容。配置

    <?xml version="1.0" encoding="UTF-8"?>
        <configuration>
        <system.web>
            <customErrors mode="Off" />
            <compilation debug="true" />
        </system.web>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="Imported Rule 1" stopProcessing="true">
                        <match url="^(.*)$" ignoreCase="false" />
                        <conditions logicalGrouping="MatchAll">
                            <add input="{R:1}" pattern="\\.(gif|jpe?g|png)$" negate="true" />
                            <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                        </conditions>
                        <action type="Rewrite" url="/index.php/{R:1}" />
                    </rule>
                </rules>
            </rewrite>
        <security>
                <requestFiltering allowDoubleEscaping="true" />
         </security>
        </system.webServer>
    </configuration>
    

    相关推荐

    WP JSON list all permalinks

    Scenario我正在考虑编写一个自定义的wp json端点,以列出我的wordpress中每个帖子的所有永久链接。Question是否可以使用rest查询+筛选器来完成此操作?例如:。http://wpsite.com/wp-json/wp/v2/posts?filter[only-permalinks]当前的解决方案最后我编写了一个自定义端点,代码如下:添加到函数的底部。phpfunction get_all_slugs() { $posts = get_posts( array(&#