The got_rewrite WordPress PHP filter checks if Apache and mod_rewrite are present.
Usage
add_filter( 'got_rewrite', 'your_custom_function' ); function your_custom_function( $got_rewrite ) { // your custom code here return $got_rewrite; }
Parameters
- $got_rewrite (bool) – Indicates whether Apache and mod_rewrite are present or not.
More information
See WordPress Developer Resources: got_rewrite
Examples
Force URL rewriting for Nginx
Force URL rewriting for the Nginx server by returning true for the got_rewrite filter.
add_filter( 'got_rewrite', 'force_url_rewriting' ); function force_url_rewriting( $got_rewrite ) { // Return true to force URL rewriting return true; }
Disable URL rewriting
Disable URL rewriting by returning false for the got_rewrite filter.
add_filter( 'got_rewrite', 'disable_url_rewriting' ); function disable_url_rewriting( $got_rewrite ) { // Return false to disable URL rewriting return false; }
Check for Apache and mod_rewrite
Log a message if Apache and mod_rewrite are present.
add_filter( 'got_rewrite', 'check_apache_mod_rewrite' ); function check_apache_mod_rewrite( $got_rewrite ) { // If Apache and mod_rewrite are present, log a message if ( $got_rewrite ) { error_log( 'Apache and mod_rewrite are present.' ); } return $got_rewrite; }
Enable URL rewriting for specific conditions
Enable URL rewriting only for specific conditions, such as when a certain plugin is active.
add_filter( 'got_rewrite', 'enable_url_rewriting_conditionally' ); function enable_url_rewriting_conditionally( $got_rewrite ) { // Check if a specific plugin is active if ( function_exists( 'your_plugin_function' ) ) { // Enable URL rewriting if the plugin is active return true; } return $got_rewrite; }
Change URL rewriting based on environment
Change URL rewriting settings based on the environment, such as enabling URL rewriting on production but disabling it on staging.
add_filter( 'got_rewrite', 'change_url_rewriting_by_environment' ); function change_url_rewriting_by_environment( $got_rewrite ) { // Check the environment $environment = getenv( 'WP_ENV' ); // Enable URL rewriting on production if ( 'production' === $environment ) { return true; } // Disable URL rewriting on staging elseif ( 'staging' === $environment ) { return false; } return $got_rewrite; }