Rewrite rule not redirecting correctly

The answer is to not use plugins, just use Apache’s built in HTAccess. The trick with HTAccess and WordPress so as not to break wordpress rewrite features, is to place the new rule before the RewriteCond statement of wordpress. So the final looks like this: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule … Read more

Flush rewrite rules when new cpt is registred

Post types are registered on every load. They’re not stored in the database or some other sort of persistent storage. The posts are, but not the post types. So the correct place to flush rewrite rules is when the theme is activated. This can be done with the after_switch_theme hook: add_action( ‘after_switch_theme’, ‘flush_rewrite_rules’ ); For … Read more

url redirect none www to www

IMO, going to your .htaccess file is not necessary. You can instead flush permalink rules in the Permalink Settings area of your site. Just click on Permalinks, select a new option (other than the current one you’re using), save… Click on Permalinks again, choose your previous option, and then save again. And that does it!.

rebuilding/ rewriting a url to make it SEO friendly

You can create a rewrite rule using add_rewrite_rule() that will match a given path to query parameters: function wpse_283774_rewrite() { add_rewrite_rule( ‘^events/([^/]+)/?’, ‘index.php?pagename=events&country=$matches[1]’, ‘top’ ); } add_action( ‘init’, ‘wpse_283774_rewrite’ ); This rule will match whatever is after /events as the country query parameter. Setting the third argument to top means that it will match our … Read more