Opened 6 years ago
Last modified 3 years ago
#43676 new defect (bug)
.htaccess rules don't work with Plain
Reported by: | sebastian.pisula | Owned by: | |
---|---|---|---|
Milestone: | Awaiting Review | Priority: | normal |
Severity: | normal | Version: | |
Component: | Rewrite Rules | Keywords: | has-patch |
Focuses: | Cc: |
Description
If I use "Plain Url Style" in Permalink Settings then I can't add custom rules .htaccess from mod_rewrite_rules filter. I think that this is bug.
For example:
<?php function uploads_from_remote_server( $rules ) { $rules = "<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule wp-content/uploads/(.*) http://example.com/wp-content/uploads/$1 [NC,L] </IfModule>\n\n" . $rules; return $rules; } add_filter( 'mod_rewrite_rules', 'uploads_from_remote_server' );
This filter not working in Plain Url Style but should.
Attachments (1)
Change History (4)
Note: See
TracTickets for help on using
tickets.
### Applies filter mod_rewrite_rules also when there are no permalinks.
There is a
mod_rewrite_rules
filter that perhaps many people don't know about, but it would be very helpful to control the .htaccess file, especially in a reverse-proxy scenario where the server does not have all the information to generate this correctly.However, this filter is ignored when permalinks are not enabled. In practice this might not matter, but in setting up wordpress from scratch and/or in CI/CD scenarios this leads to unexpected behavior.
The fix is simple: Instead of exiting the function directly in the case of no-permalink only exit after applying the filter.
Trac ticket: https://core.trac.wordpress.org/ticket/43676