Here’s the why part:
This part of the redirect_canonical()
is removing the leading &
in the redirect query part:
// tack on any additional query vars
$redirect['query'] = preg_replace( '#^\??&*?#', '', $redirect['query'] );
Example:
example.tld/?&a=1&b=2&c=3
is redirected to
example.tld/?a=1&b=2&c=3
If you must have the leading &
you might try to adjust it through the redirect_canonical
filter:
/**
* Filter the canonical redirect URL.
*
* Returning false to this filter will cancel the redirect.
*
* @since 2.3.0
*
* @param string $redirect_url The redirect URL.
* @param string $requested_url The requested URL.
*/
$redirect_url = apply_filters( 'redirect_canonical', $redirect_url, $requested_url );
Related Posts:
- remove “index.php” from permalinks
- How does WordPress create URLs that Apache knows about?
- Stop WordPress appending `-2` to the end of my url after i change it
- Get default permalink structure from pretty URL’s
- Get current URL (permalink) without /page/{pagenum}/
- How to get pretty URLs with add_query_arg in permalinks
- Creating custom permalink structure for languages
- Getting the Site URL Including the Front Base
- How to use relative links on my pages?
- WordPress Permalink changes to question mark (?) in URL
- Adding another word in front of post url
- How to prevent apostrophes and quotes from appearing in permalinks?
- Removing hierarchical pages in the permalink
- Update URL Snippet to Canonical Permalink URL
- why does anchor name add a slash to url?
- “.#[random-char-string]” being inserted at end of URLs
- URL Rewrite + Page + Custom Post Type = Unusual Redirect
- WordPress on a subdirectory of Laravel – WordPress pretty permalinks inner page shows laravel
- Pretty Permalinks
- How to create a permalink structure for posts in a specific category
- How to get url of a post from admin panel
- How to Remove Slug From Database?
- How to make draft posts or posts in review accessible via full url / slug?
- Remove subfolders from URL
- Limiting the number of words or characters in the slug/permalink
- flexible rewrite ‘ramble’ URLs with WordPress
- How to increase the character limit for post name of 200?
- How to get the post id from a permalink?
- Custom rewrite rules for feeds of custom queries (query_var query strings in URL)?
- Change website URL without breaking links or images? WP 3.3
- WordPress 3.4 Permalinks Redirection Problem
- Make attachment pages require a base url
- How to Remove -14 from WordPress URL (Permalink)
- How to Modify Existing Rewrite Rules?
- Using ‘Primary Category’ in URL
- display URL or permalink instead of page title in dashboard
- custom permalink/shortlink with base62 encoded post ID
- How can I get the permalink of a post before it is published?
- Change permalink rule if category is called “uncategorized”
- Add a URL prefix to permalinks of News category and sub-categories of posts only
- Can two products with the same name but different category produce unique URLs?
- echo post-permalink without http and www
- Get canonical link
- Confusion about how a URL is being parsed
- Get closest page ID from URL
- How to reset canonical URLs / fix redirect loop
- CSS not loaded when omitting www. part of URL
- Setting up two separate blogs while using WordPress as a CMS
- How to show the homepage on a different url, like site.com/blog instead of site.com?
- Custom permalink for search and pagination
- wordpress api using rest_route for other pages
- Get page by path – honoring permalink settings (urls w/slashes)
- Change blog segment of URL
- Non latin post slug truncate
- Force wordpress to display page with same url structure as categories
- How to bulk edit image url in featured image and product description?
- Is there a link parameter that will show me all my published pages?
- How can i have a custom post type with more slugs for each post?
- URL rewriting: removing the site’s basename for a specific category
- How to include sub directory in sitemap? [closed]
- Get the url of a page template without using the page slug and ID
- Remove -2 from URL; no duplicate pages, no images, no pages in trash
- WordPress keeps giving me the wrong permalink
- Host frontpage via example.com and everything else via example.com/blog
- WordPress can generate numeric permalinks, which then 404
- display dynamic content based on url slug on custom page
- How to generate a list of all urls
- Pre-populate Slug / Permalink with URL
- Relative v.s. absolute URLs: which ones should I use for cross-domain portability?
- How to use all tags in post permalinks
- Permalinks settings
- mod-rewrite exception? keep #hash in matching urls?
- Unique one time use URL
- Edit permalink for certain pages
- cannot link a external url, present page url acting as parent url
- Remove parent page from url
- Suddenly new posts have the default permalink instead of the post name
- Problem with parent page slug only in WordPress admin
- Getting back a permalink from custom url
- Two URLs of one post is available
- “-2” Being added to end of URL (no duplicate pages, no pages in trash)
- Bulk append URL (add word to slug)
- Change permalinks for specific pages
- replacing post ID by custom post name in url
- Access posts while mod_rewrite is broken
- Remove international characters from slug – Almost done – Bit help
- Post with no tag permalink problem
- replicate url permalink after migrating to wordpress
- Can I change the URL structure for a CPT only?
- How to remove slug from front page?
- How do I structure my permalinks in WordPress?
- How to redirect old permalinks from https://exmaple.com/category/post_id to https://exmaple.com/category/post_id.html
- Make a post inaccessible without a unique ID in the URL
- assets aren’t loading on a page but loads on others? slug permalink conflict?
- Customize URL for specific tags archive
- Multiple Taxonomy Items for Separate URLs
- WordPress keeps removing query var from the URL
- URL gives 404 error of my subfolder site when i change permalink
- Change Project permalink to custom URL
- How to construct a dynamic rewrite rule for child pages that passes more than one query var