wp rewrite structure

Updates the permalink structure.

$ wp rewrite structure <permastruct> [--category-base=<base>] [--tag-base=<base>] [--hard]

Sets the post permalink structure to the specified pattern.

To regenerate a .htaccess file with WP-CLI, you'll need to add the mod_rewrite module to your WP-CLI config. For example:

  - mod_rewrite


The new permalink structure to apply.
Set the base for category permalinks, i.e. '/category/'.
Set the base for tag permalinks, i.e. '/tag/'.
Perform a hard flush - update .htaccess rules as well as rewrite rules in database.


$ wp rewrite structure '/%year%/%monthnum%/%postname%/'
Success: Rewrite structure set.


--path=<path> Path to the WordPress files.

--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified.

--ssh=[<scheme>:][<user>@]<host|container>[:<port>][<path>] Perform operation against a remote server over SSH (or a container using scheme of "docker", "docker-compose", "vagrant").

--http=<http> Perform operation against a remote WordPress installation over HTTP.

--user=<id|login|email> Set the WordPress user.

--skip-plugins[=<plugins>] Skip loading all plugins, or a comma-separated list of plugins. Note: mu-plugins are still loaded.

--skip-themes[=<themes>] Skip loading all themes, or a comma-separated list of themes.

--skip-packages Skip loading all installed packages.

--require=<path> Load PHP file before running the command (may be used more than once).

--[no-]color Whether to colorize the output.

--debug[=<group>] Show all PHP errors and add verbosity to WP-CLI output. Built-in groups include: bootstrap, commandfactory, and help.

--prompt[=<assoc>] Prompt the user to enter values for all command arguments, or a subset specified as comma-separated values.

--quiet Suppress informational messages.

Related commands

Flushes rewrite rules.

Gets a list of the current rewrite rules.

Updates the permalink structure.