Within your rewrite() method add:
add_rewrite_tag('%state%','([^&]+)');
add_rewrite_tag('%city%','([^&]+)');
That will keep the query_vars you added within the url, and prevent it from being stripped.
Related Posts:
- How do you create a “virtual” page in WordPress
- Change the “page” slug in pagination
- Understanding add_rewrite_rule
- generate_rewrite_rules (action) vs add_rewrite_rule (function): which one is preferred?
- Rewrite Rules for Multiple (more than 2) Taxonomies
- add_rewrite_rule not loading correct page nor getting variables
- Preserving $_GET parameter while using custom Rewrite Rule
- SEO Friendly URLs for my plugin categories
- How do I add a add_rewrite_rule without it redirecting?
- WordPress URL rewrite regex
- Getting add_rewrite_rule and add_rewrite_tag to work
- Blog installed in subdirectory but need to create pages in root. How to use permalinks?
- WordPress keeps writing rewrite rules to .htaccess
- WordPress Rewrite
- Dynamic URL, not a physical page within the database
- Custom rewrite rule for backend/admin?
- How to have multiple rewrite endpoints in the same URL?
- add_rewrite_rule is not taking effect in WordPress? .htaccess file doesn’t update
- Regionalised Content
- How to do Basic URL Rewrite Without Redirecting
- Add specific word to default page permalink
- URL Rewrite doesn’t work for nested pages
- Plugin action rewrite rule – non_wp_rules
- Map alt domain to specific section of website w/o MU
- Rewrite rule to load images from production does nothing
- Custom query_vars and parse_request on wp-admin
- Have two different URLs show the homepage
- Url Rewriting a dynamic wordpress page
- My WP_options db rewrite_rules Does Not Work
- Custom rewrite_rules – only pass numbers and not alphabetic characters
- WP is ignoring .htaccess rewritten URL
- Rewrite ugly URL to clean URL
- Rewrite wp-login.php URLS to static pages?
- Rewrite custom post type URL parameters
- Changed pagination URLS to use p= instead of paged=
- Change pagination url format
- Rewrite: WordPress URL rewrite on Search
- Rewriting “pretty” blog category URL with htaccess / add_rewrite_rule() causes 404 page
- WPML language switcher for custom rewrite rules
- How to write Rewrite rule for same path using Rewrite API?
- Multiple query vars sorting combination and url rewrite
- URL rewriting with custom user meta “/%shop_name%/gallery/%gallery%”
- WordPress keeps writing rewrite rules to .htaccess
- URL Rewrite and add_query_var not working
- Custom rewrite after the default term link URL
- Adding a rewrite rule to page that has no fixed variables and pagination
- Flush rewrite rules on option update with Settings API
- Requested URL changes when using custom rewrite rule
- How can I reduce the number of rewrite rules?
- Capturing /page-name/[0-99999] in both template and number
- Redirect old query string urls to new SEO urls
- custom wordpress rewrite
- Keep requested/entered url with add_rewrite_rule
- Get wordpress installation folder
- Bilingual WP site: How to achieve different URL sturcture rule based on its language?
- How can I create custom URL routes?
- Create custom url which executes code (not render render a WordPress entity)?
- Rewrite author URL to example.com/u/{user_id}/{username}/
- Rewrite specific action url
- Using URL rewrite to add custom URL for custom post type
- Rewrite Rule for homepage not working correctly
- Adding Rewrite URL for Base + Children Separately
- How to change the displayed URL?
- wordpress path generation from rewrite rule
- add_rewrite_rule() issue with parent/child/child page
- Rewrite only if no other matching page is found
- How can I add a vanity URL for admin-ajax.php Calls?
- Remove part from dynamic url and redirect
- Rewrite rule can’t get the ID from rewrited
- Ugly URLs when there’s pagination
- Pretty URL via Rewrite
- URL rewrite problem in WordPress plugin
- WordPress numeric (yearly) page names / disable yearly archives
- Usw add_rewrite_rule to display frontpage on specific page
- “SAVE PERMALINKS” does more than FLUSH_REWRITE_RULES?
- Rewriting URL with child pages
- Pagination appearing twice in URL after rewrite
- Need help with custom rewrite rule
- Rewrite rules goes away
- WordPress doesn’t remember my custom rewrite rule
- Custom urls in WordPress involving page slugs
- how to change some of the rules in the database
- .htaccess RewriteBase equivalent for WordPress – Passing a URL as a variable without getting a 404
- Rewriting URLs with query strings and preserving them
- URL Rewrite for CPT single posts
- get_permalink is getting old rewrite rule
- Rewrite URL based on form input
- Custom Rewrite for Profiles
- Rewriting WordPress URLs
- What is the proper way to use add_rewrite_rule to remove the (question mark)?
- Custom Rewrite Problem
- WordPress post-type create url rewriting
- help with rewrite_tag and rewrite_rule for custom page GET variables [duplicate]
- Can’t get pretty permalinks to work without index.php
- Use add_rewrite_rule to change subpage url
- Rewrite Page Parameters
- Rewrite rule to simulate page hierarchy results in 404
- add_rewrite_rule not working with custom variables
- add_rewrite_rule doesn’t work when trying to add a new parameter at the end of URL
- Standard Regex syntax doesn’t work in WordPress rewrite rule