Using WordPress ‘got_mod_rewrite()’ PHP function

The got_mod_rewrite() WordPress PHP function checks if the server is running Apache with the mod_rewrite module loaded.


To use the got_mod_rewrite() function, simply call it and store the result in a variable:

$has_mod_rewrite = got_mod_rewrite();


  • None

More information

See WordPress Developer Resources: got_mod_rewrite


Check if mod_rewrite is enabled

Check if the mod_rewrite module is enabled and display a message accordingly.

$has_mod_rewrite = got_mod_rewrite();

if ($has_mod_rewrite) {
    echo "The mod_rewrite module is enabled.";
} else {
    echo "The mod_rewrite module is not enabled.";

Enable a feature only if mod_rewrite is available

Conditionally enable a feature in your WordPress plugin or theme only if mod_rewrite is available.

function my_custom_feature() {
    if (got_mod_rewrite()) {
        // Your feature code here

Add a rewrite rule if mod_rewrite is enabled

Add a custom rewrite rule to WordPress only if the mod_rewrite module is available.

function my_custom_rewrite_rule() {
    if (got_mod_rewrite()) {
        add_rewrite_rule('my-custom-rule/?$', 'index.php?custom_variable=value', 'top');
add_action('init', 'my_custom_rewrite_rule');

Display mod_rewrite status in the admin dashboard

Create a simple WordPress dashboard widget that displays the mod_rewrite status.

function mod_rewrite_dashboard_widget() {
    $status = got_mod_rewrite() ? 'Enabled' : 'Not Enabled';
    echo "mod_rewrite status: $status";

function register_mod_rewrite_dashboard_widget() {
    wp_add_dashboard_widget('mod_rewrite_status', 'mod_rewrite Status', 'mod_rewrite_dashboard_widget');
add_action('wp_dashboard_setup', 'register_mod_rewrite_dashboard_widget');

Require mod_rewrite for a plugin

Prevent a WordPress plugin from being activated if mod_rewrite is not enabled.

function my_plugin_activation_check() {
    if (!got_mod_rewrite()) {
        wp_die('This plugin requires the mod_rewrite module to be enabled.');
register_activation_hook(__FILE__, 'my_plugin_activation_check');