我有一个问题,经过一番研究,我发现了失败的确切地点。
blog.domain.com
它不工作,它说,该网页无法find(404)
blog.domain.com/index.php
按预期工作
如果你点击家庭,它会说,该网页无法find,如果你试图预览一个新的职位,它说,该网页无法find…我可以看到每个postbtw。
我使用IIS在Windows主机上运行我的博客。
我的永久链接是这样的:
/index.php/%postname%
IIRC我不得不使用index.php,因为我的 IIS没有URL重写。
我没有任何问题的URL上的index.php事情,我现在有一个很好的search引擎优化,我不想改变我的固定链接,但我不知道为什么现在不工作…只是从一天到下一个…
这是WP的问题还是只是我的主机搞乱? 如果是我的博客,你知道这是什么原因吗? (只是为了创build一个关于确切问题的具体票)
谢谢。
你看过吗?: 使用固定链接而不用mod重写«WordPress Codex
而在permalinks中只使用%postname%是Wordpress的一个众所周知的问题; 最好至less使用%postname%/%year%但是如果你改变永久链接,WP不会抛出404。 他们将被转发。
从上面的链接:
如果您使用的是IIS 7并且在您的服务器上拥有pipe理权限,则可以使用Microsoft的URL重写模块http://www.iis.net/learn/extensions/url-rewrite-module/using-the-url-rewrite-module代替。 虽然不完全兼容mod_rewrite,但它支持WordPress的漂亮的固定链接。 安装后,打开WordPress文件夹中的web.config文件,并将以下规则添加到system.webServer元素
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="WordPress Rule" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="index.php?page_id={R:0}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
请参阅http://www.iis.net/learn/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress
永久链接设置的/%postname%/所有的post页面显示正确与正确的职位名称在url为首选的search引擎优化。 但是,我的主页blogs.halloweencostumesale.com没有显示,并给404页面没有find错误。 我在Windows服务器上托pipe。
在几个论坛上研究了几天后,我没有办法解决。 如果我给了blogs.halloweencostumesale.com/index.php主页会显示,但它不会显示与blogs.halloweencostumesale.com。
在允许域名的默认文档的IIS设置中,我有Index.php,而我的实际文件是index.php。 Appache服务器区分大小写,这是问题。 我改变了index.php,即所有默认的文档都允许使用小写字母,最后一切正常。
我最熟悉的Apache,但我会尝试采取逻辑,并将其应用于IIS。 有一个configuration选项决定了索引页是什么。 也就是说,当您访问domain.com/时,您将获得domain.com/index.html。 在IIS中,我相信你正在寻找的设置被称为“默认文档”。 您需要将index.php添加到默认文档列表中。
如果你不能改变configuration,你可以通过添加一个redirect到index.php的index.html来作弊