WordPress.org

Ready to get started?Download WordPress

Forums

[resolved] SOME permalinks not working (19 posts)

  1. klynam
    Member
    Posted 2 years ago #

    I'm running into a strange problem...

    When setting my permalinks to /%postname%/ I find SOME pages resolve correctly, others return a 404 page. I've tried using custom menus and default navigation. The same thing happens either way.

    I have a sub-directory install, with my modified index.php and .htaccess files setup correctly and in the right places. (I've done this before.) And there's nothing unusual about my page structures, or page names, or whatever.

    SOME pages resolve correctly, some do not...???

    Any thoughts or recommendations???

  2. David Gard
    Member
    Posted 2 years ago #

    Try resetting your permalinks to Default, save them, then go to 'Day and name', save them, and then finally back to 'Postname'.

    In WordPress 3.3.1 there is a bug where selecting 'Postname' does not actually create the correc rules, so we have to use one of the other types to do this and then simply switch to 'Postname' to amend them.

    It could also be that you have added a new cusomt post type or taxonomy, so the rules may simply need flushing (doing the above will also do this).

  3. klynam
    Member
    Posted 2 years ago #

    Thanks for the rec, but it didn't work.

    However, this worked...

    The "missing" (i.e. 404) pages were child pages, one level under a parent page. I created a new parent page and moved the child pages under the new parent. Viola - everything worked!

    So I deleted the original parent page then changed the page name, slug, and permalink (page URL) of the NEW parent page to match the settings of the original parent page. Boom - the child pages disappeared again.

    Sensing this was a permalink issue (specific to a page URL, not a global setting) I modified the permalink of the NEW parent page by adding one letter and the child pages all came back again. Hmmmmm...

    So apparently (a) the permalink of my original parent page got a glitch in it; (b) that glitch is stuck in my WP install; and (c) no amount of changing/resetting the global permalinks, or the index.php file, or the .htaccess file had any effect at all.

    The workaround for me was a new parent page with a new permalink URL.

    (Though in retrospect, I wonder if I could have kept my original parent page and simply change that page URL permalink...???)

    Anyway, I hope this helps someone else out there experiencing the same odd little bugger-boo...

  4. David Gard
    Member
    Posted 2 years ago #

    WordPress has a list of reserved names that you are not allowed to use for Form field names, page names, custom taxonomy names or custom post type names, so it could have been one of them.

    It could also have been that your page had the same name as one of your custom taxonomies or post types? This will mess the rewrite rules up, as WP will not know how it needs to rewrite the URL due to the clash.

  5. klynam
    Member
    Posted 2 years ago #

    The logic is sound, and for my own benefit I need to learn more about those aspects of WP.

    In this particular case, the page name was "Author" (as in author of a book) so I'd hope that wasn't a reserved name. And I'm not using any custom post types or taxonomies that I know of.)

    I do appreciate the continued insight! :-)

  6. David Gard
    Member
    Posted 2 years ago #

    'Author' is indeed on the reserved list (It's on the page for the Function Reference for register_taxonomy()).

    I had a similar issue where I had a field in a form named name - took me ages to figure it out, so I have the list saved in my favs now, just in case!!

  7. klynam
    Member
    Posted 2 years ago #

    Well that's a new one on me and good to know.

    Come to think of it, I bet that's a problem I've bumped into previously without realizing it.

    Thank you SO much for the heads-up!

  8. David Gard
    Member
    Posted 2 years ago #

    No problem, glad to be of help :)

  9. webalchemist
    Member
    Posted 2 years ago #

    klynam Thankyou for your post.

    So apparently (a) the permalink of my original parent page got a glitch in it; (b) that glitch is stuck in my WP install; and (c) no amount of changing/resetting the global permalinks, or the index.php file, or the .htaccess file had any effect at all.

    The workaround for me was a new parent page with a new permalink URL.

    (Though in retrospect, I wonder if I could have kept my original parent page and simply change that page URL permalink...???)

    I also had several pages on wordpress top level menu navigation that would not work with permalinks set to pagename.

    After reading your post, I did a test of changing the slug to another string and the page worked. I changed it back to the old string and the page gives me 404.

    I am pretty certain that "magic-acts" and "magician-al-huth" are not on the reserved names list.

    REGRETTABLY, I am working on a client's web project that is hosted with YAHOO HOSTING, booooo, no htaccess for you!!

    How would some specific permalinks be persistently broken?

    So far my resolution is as klynam said:

    " simply change that page URL permalink (to a NEW url)"

    ~ woe be to ye who changes back to the original url...

    How can I fix this and still use the existing urls??

    I referenced: WordPress Database Relational Diagram

    I also read this great article on How WordPress Post Slugs Work

    About 1/2 down they page they say:

    That's where an .htaccess file comes in.

    That's where I run into another Yahoo!! (more like a yikes!)

    no htacces access with yahoo. boo hoo.

    WHY are my Permalinks being blocked!??

  10. webalchemist
    Member
    Posted 2 years ago #

    Well,
    I think I figured it out...

    Because Yahoo! hosting will not let you move wordpress to the root directory, I renamed wordpress directory to magic to get better seo...

    Unfortunately, the rewrite is breaking any page that has a slug that starts with magic...

    eg: mywebsite.com/magic << wordpress install

    mywebsite.com/magic/magician-al-huth << page fails

    mywebsite.com/magic/magic-for-kids << page fails

    mywebsite.com/magic/al-huth-magician <<page works great!

    I think the yahoo rewrite rule is jacking my page.

    sadly Yahoo will not let me adjust any htaccess settings and all I can do is change the wordpress directory name again or not use any slugs that start with magic.

    Lesson = never use Yahoo hosting for wordpress.

  11. webalchemist
    Member
    Posted 2 years ago #

    Wow, so after 6 hours of troubleshooting and crying and tearing my hair out, I changed the blog directory name from it's original "wordpress" directory to the SEO preferred "magic" directory and finally back to the "blog" directory.

    The good news is that my pages that start with the slug text "magic" are magically working great. The bad news is that I wasted 6 hours for nothing on yahoo janky bs.

    Never use Yahoo. Its' like Yahont or whatever.

    </rant>

  12. David Gard
    Member
    Posted 2 years ago #

    Firstly, glad everything is working for correctly. I may be barking up the wrong tree here, but isn't .htaccess related specifically to your install of WP? It should be in your WP root folder (wordpress/.htaccess)?

    That being the case, you should have full access to it? Further more, without an .htaccess file, Permalinks would surely not work at all?

    I notice in your first post that you mentioned that you were using the %postname% permalink structure - I have posted on Trac in the past (click here) that there is an issue with Permalinks when using %postname%, so perhaps it is that which you ran in to?

  13. webalchemist
    Member
    Posted 2 years ago #

    Hi duck_boy and thank you so much for responding to my post so quickly!

    And to reply to your assertion, you are and you are not barking up the wrong tree.

    Check out this dandy page here from the Yahoo hosting help servers:

    Readers visiting this page will tearfully read that:

    The name .htaccess refers to the main configuration file for Apache, a popular open-source HTTP server. The .htaccess file can be used to create custom error pages and web page redirects, set up password protection, enable SSI, and more. Yahoo! does not currently allow you to upload .htaccess files to your account. For other customization options, we recommend the Custom Error Pages and password-protection features available in your Web Hosting Control Panel.

    Boo Hoo NO HTACCESS FOR YOU!! (if you use yahoo).

    So now I have the word blog in all my urls.

    where's the vomit emoticon?

  14. webalchemist
    Member
    Posted 2 years ago #

    Since you may be wondering, how the hell can I have permalinks if there is no htaccess, I will tell you.

    Yahoo wordpress packages come pre-rolled with a special plugin for permalinks that was provided by the yahoo hosting team.

    If the client REALLY wants to get rid of "blog" and wants to pay for the work then perhaps I could hack that module, but I'd really rather not...

    ______________________________________________________________
    I came across many other posts of people having trouble with:
    yahoo wordpress 404, yahoo wordpress page not found, yahoo menu links not working, yahoo wordpress some pages broken.

  15. David Gard
    Member
    Posted 2 years ago #

    Well that is without doubt the stupidist thing that I have ever heard!

    .htaccess files are so simple yet acheive such vitial functions, and seeing as they can only affect what is below them, there is really no risk to Yahoo!

    I really hope your client sees the light and changes to another provider!

    One suggestion though - look in to manipulation of the $wp_rewrite global, I'm not 100%, but manipulation of that may help you achieve what you want to.

  16. webalchemist
    Member
    Posted 2 years ago #

    Hey Duck__boy, thanks so much for your responses...

    I have just chalked this up as one way businesses (yahoo) drives customers towards premium services. (or other providers)

    I'm guessing for now that he'll be happy with it as it is for now given the expense to buy, set up and migrate the site.

    If he does want to do something different I'll check out your tip on the $wp-rewrite. I'm certainly not a wordpress expert so I really appreciate your tips!

    Cheers and props for staying involved with the community and sharing the (code) love...

    or is that

    love

  17. webalchemist
    Member
    Posted 2 years ago #

    or maybe

    $love.=$helping_others.$wordpress

    or maybe as an array

    $love = array(
        platform  => 'wordpress',
        action => 'helping others solve problems'
    );

    but that's all pretty "off topic"... but it does say at the bottom of the page here: CODE IS POETRY...

  18. aliferis
    Member
    Posted 2 years ago #

    NOte: a plugin called Polylang broke my postname permalinks for top level pages (no parent)

    disabled = working fine now

    Joe

  19. mojojojo
    Member
    Posted 1 year ago #

    Hi allferis,

    I had the same problem when adding top level pages using /%postname%/ as my permalink structure with Polylang installed. Gives me a 404 error when trying to view the page. This is on a WordPress network setup.

    I noticed that if I didn't add a language in the Languages admin panel, I get this problem, but by adding at least one language got the top level pages to work. I removed the language from the Languages admin panel after adding one top level page and the problem is still fixed. I can now add top level pages without any 404 errors.

Topic Closed

This topic has been closed to new replies.

About this Topic