Make WordPress Core


Ignore:
Timestamp:
09/16/2013 08:06:27 PM (10 years ago)
Author:
nacin
Message:

Add nginx detection to the Permalink Settings screen.

Introduces got_url_rewrite() and a corresponding filter, which should now be used in lieu of the got_rewrite filter in got_mod_rewrite().

This does not write or even suggest nginx configuration; rather, it prevents nginx from being considered as either Apache or as an unrecognized server.

props johnbillion.
fixes #25098.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/misc.php

    r24762 r25456  
    88
    99/**
    10  * {@internal Missing Short Description}}
     10 * Returns whether the server is running Apache with the mod_rewrite module loaded.
    1111 *
    1212 * @since 2.0.0
    1313 *
    14  * @return unknown
     14 * @return bool
    1515 */
    1616function got_mod_rewrite() {
    1717    $got_rewrite = apache_mod_loaded('mod_rewrite', true);
     18
     19    /**
     20     * Filter whether Apache and mod_rewrite are present.
     21     *
     22     * This filter was previously used to force URL rewriting for other servers,
     23     * like nginx. Use the got_url_rewrite filter in got_url_rewrite() instead.
     24     *
     25     * @see got_url_rewrite()
     26     *
     27     * @since 2.5.0
     28     * @param bool $got_rewrite Whether Apache and mod_rewrite are present.
     29     */
    1830    return apply_filters('got_rewrite', $got_rewrite);
     31}
     32
     33/**
     34 * Returns whether the server supports URL rewriting.
     35 *
     36 * Detects Apache's mod_rewrite, IIS 7.0+ permalink support, and nginx.
     37 *
     38 * @since 3.7.0
     39 *
     40 * @return bool Whether the server supports URL rewriting.
     41 */
     42function got_url_rewrite() {
     43    $got_url_rewrite = ( got_mod_rewrite() || $GLOBALS['is_nginx'] || iis7_supports_permalinks() );
     44
     45    /**
     46     * Filter whether URL rewriting is available.
     47     *
     48     * @since 3.7.0
     49     * @param bool $got_url_rewrite Whether URL rewriting is available.
     50     */
     51    return apply_filters( 'got_url_rewrite', $got_url_rewrite );
    1952}
    2053
Note: See TracChangeset for help on using the changeset viewer.