WordPress.org

Ready to get started?Download WordPress

Forums

[resolved] Editing Permalinks is BROKEN in 2.9.2 (4 posts)

  1. jkwiggs
    Member
    Posted 4 years ago #

    I've got a site in the testing stage and have identified what I think is a bug in the current version (2.9.2). I have been making edits to the "Hello World" post for the last day or two, testing out various methods of entering content. Today, I switched the permalink structure from the default to a custom structure that would be more seo-friendly:

    /%year%/%monthnum%/%category%/%postname%/

    It appears to be working for new posts, but when I go back to edit the original "hello world" post, I find that it doesn't work. I edited the post and resaved it, but it appears to be generating a revision record in the wp_posts table. The revision record has the proper permalink value in the guid field, but the post-name is "1-revision-5" not "related-videos" as I would expect since I changed the post name. The result is that when you try to access the permalink, you get a 404 page.

    I saw a previous post which was clearly related to this, from about 2 weeks ago, where somebody changed his permalink structure and it broke his historical posts. And before you ask, yes he verified that mod_rewrite is enabled (and so have I). He received one follow-up asking if he had mod_rewrite enabled, he posted a follow-up to state that he had, and there has been no response since then. Does this mean nobody knows what's going on? This is pretty clearly a bug in 2.9.2, or at least it's bad UI design. I should not be able to edit the permalink if by doing so I'm going to break my posts.

    Any suggestions on fixes would be appreciated. If I simply turn off revisioning of posts, might this solve the problem?

    thanks,
    Jim

  2. jkwiggs
    Member
    Posted 4 years ago #

    Please disregard this post. The issue was caused by a recent upgrade of Apache. The httpd.conf file had been updated and we were back to "AllowOverride None" for the web pages document root, so the local .htaccess in the WordPress directory was having no effect. Problem was resolved by adding back "AllowOverride FileInfo".

  3. rocknlnx
    Member
    Posted 3 years ago #

    Can you please elaborate a bit on this for me? I think I have exactly the same issue. I had this same problem with another domain of mine on the same server and I remember it was a simple fix. When I read what you wrote it jogged my memory and I'm pretty sure that it is related to the AllowOveride statement, but I just can't remember exactly what I did to fix the issue. Did you fix this using WHM or SSH? Please be as specific as possible, thanks.

  4. jkwiggs
    Member
    Posted 3 years ago #

    Hi, hopefully you've found this information long since, but I thought I'd put a follow up for you in case somebody else happened on this thread. I run my own local server, and always log in via SSH. If you have an install of apache under, say, /usr/local/apache, then generally there will be a subdirectory /usr/local/apache/conf with a file in it named httpd.conf which sets the various configuration options for your running apache install. Newer versions of apache tend to break the contents of this file out into a variety of separate dedicated files, but the main AllowOverride values should still be in httpd.conf itself.

    Somewhere in the file there should be a <Directory> tag for your main document root. Assuming your document root was at something like /var/web/htdocs, the opening tag would look like:

    <Directory "/var/web/htdocs">

    Look between that opening tag and the closing </Directory> tag for a line that says something like "AllowOverride None" or "AllowOverride FileInfo". Usually there will be comments to the effect of "AllowOverride controls what directives can be placed in .htaccess files" next to the AllowOverride line. Just what the doctor ordered!

    In my case, I set it to "AllowOverride All" and was done with it. Note, however, that I run my own dedicated server and nobody else has any access to it. If you are in some sort of shared server situation, this could very well introduce a security risk! Do some reading on the effects of the different options before you just blithely use "All".

    Hope this helps you!

Topic Closed

This topic has been closed to new replies.

About this Topic