I'm attempting to setup a custom URL structure within posts that makes all parents and sub child's accessible, but all attempts have failed with various errors.

My category structure looks something like this:

  1. - Cars
  2. -- Mondeo
  3. --- 1994
  4. ---- Postname

The idea is that people can access the following pages:

  • example.com/cars/
  • example.com/cars/mondeo/
  • example.com/cars/mondeo/1994/
  • example.com/cars/mondeo/1994/postname/

Postname (the article will be added to all categories listed above and the primary will be set to the last sub catagory listed).

What I've tried:

  • Setting permalinks to /%category%/%postname%/ this results in 404's when attempting to visit /cars/mondeo/ or /cars/mondeo/1994/. This however works when visiting /cars/ and /cars/mondeo/1994/postname/.
  • Using /%category%/%subcategory%/%postname%/ as the permalinks makes the sub categories work, but then breaks the parents and the postnames... not good.

.htaccess / mod_rewrite is enabled and working:

I have tested the .htaccess adding a deny, i.e:

Deny from all 

# BEGIN WordPress
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
# END Word

I hate the .php method, surely there is a better way...

The only solutions I've been able to find on here are by using a dirty .php method, which seems silly, I cant believe that WordPress can't handle this and I imagine that this has been asked in various forms and I've not found them, in which case please kindly point me in the right direction.

  • Basically, you have a situation where multiple types of things match the same rewrite pattern. WordPress has to know if you're asking for a post or a category before it goes and queries for it. That's why the .php method works, it adds a unique element to the pattern that will only match posts. Have a look at this question which is a similar issue, you have to do a bit of work yourself to help WordPress know what you're asking for. – Milo May 15 '16 at 2:47
  • Hey @Milo, oh right, can this be done just in the .htaccess or does it require a bit of both? I've looked at the post and I kinda understand it to some degree, that WordPress needs to be told what it is. – Simon Hayter May 15 '16 at 9:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.