The URL you are trying to access– mysite.com/reading-list/
— is constructed by the WordPress rewrite rules. The path /reading-list/
doesn’t actually exist. If you are using the default ?p=123
links, those rewrite rules are not used. The default links are just GET
strings.
In other words, since there is nothing at mysite.com/reading-list/
without the rewrite rules you get a 404.
Without the rewrite rules, you need to access the content using vanilla GET
syntax. For example, the “Book” post type used in the Codex as an example…
function codex_custom_init() {
$args = array(
'public' => true,
'label' => 'Books'
);
register_post_type( 'book', $args );
}
add_action( 'init', 'codex_custom_init' );
… is accessed without rewriting as ?book=book-cpt-post-title
. You can’t switch off rewriting and also have that non-existent /reading-list/
directory, though you could create a “Page” called reading-list
and use that to display your CPT.