将永久链接结构更改为postname时,Wordpress localhost会生成404页

时间:2014-04-10 17:43:49

标签: php wordpress .htaccess permalinks

我希望将永久链接结构设置为%postname%,但这样做会使每个页面转到404页面,在该页面上无法在服务器上找到请求的URL。 我正在使用mac并使用mac的php和apache运行我自己的开发服务器。我按照本指南来启动服务器:http://www.coolestguidesontheplanet.com/downtown/get-apache-mysql-php-and-phpmyadmin-working-osx-109-mavericks

这些是我采取的步骤,但没有一个有效:

  1. 编辑我的htaccess
  2. Options +FollowSymlinks
    RewriteEngine on

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /~wayne/plugin-dev/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /~wayne/plugin-dev/index.php [L]
    </IfModule>
    
    # END WordPress
    
    1. 通过取消注释确保为/etc/apache2/httpd.conf启用了重写引擎 LoadModule rewrite_module libexec/apache2/mod_rewrite.so

    2. 还确保将AllowOverride设置为全部。

    3. 唯一可行的方法是,如果我使用自定义固定链接结构并放置index.php/%postname%/但是我的所有页面前面都会有一个index.php,我不希望这样。

2 个答案:

答案 0 :(得分:1)

简单转到您的WAMP文件夹。在WAMP转到bin;然后阿帕奇。在apache中有一个文件夹名称conf;在conf中有一个文件名httpd。用记事本打开该文件,找到这一行#LoadModule setenvif_module modules/mod_setenvif.so

通过从该行删除哈希将启用mod-rewrite功能。然后,您可以为您的网站使用任何自定义永久链接。

如果需要进一步的帮助,请告诉我;我将向您发送完整的文件或WAMP设置。

答案 1 :(得分:0)

@ Mehreen的答案非常接近正确。我也遇到了这个问题,拔掉了我的头发。

这是您需要做的事情: 转到wamp / bin / apache / apache [YourVersion] / conf 在记事本或其他任何地方打开httpd.conf。

搜索这两行:

ab

(和)

import sys

def main():
    inputstring = str(sys.argv[1])
    length = int(sys.argv[2])
    Analyze(inputstring, length)    


def Analyze(inputstring, length):
    count = 0;
    runningcount = -1;
    sequence = ""
    substring = ""
    for i in range(0, len(inputstring)):    
        substring = inputstring[i:i+length]
        for j in range(i+length,len(inputstring)):
            #print(runningcount)
            if inputstring[j:j+2] == substring:
                print("runcount++")
                runningcount += 1
                print(runningcount)         
                if runningcount > count:
                    count = runningcount
                    sequence = substring


    print(sequence)             


main()

如果在这些行的开头有哈希(#),请将它们删除(这会取消注释这些行),然后启用这些模块。

退出WAMP并重新启动。的Presto!