WordPress.org

Support

Support » Plugins and Hacks » W3 Total Cache » [Plugin: W3 Total Cache] Nginx URL Rewriting Warning

[Plugin: W3 Total Cache] Nginx URL Rewriting Warning

  • Hi Frederick,

    First of all, W3 Total Cache is fantastic. I’m using the dev version and am very impressed with how easy it was to set up with Nginx.

    After writing the cache rules to nginx.conf (automatically), I’m seeing this warning:

    It appears URL rewriting is not working. If using apache, verify that the server configuration allows .htaccess or if using nginx verify all configuration files are included in the configuration.

    Caching still seems to be working though, should I be concerned? Thanks for any help!

    http://wordpress.org/extend/plugins/w3-total-cache/

Viewing 12 replies - 1 through 12 (of 12 total)
  • This may be a dumb question, but are you having w3tc put the nginx rules directly into your nginx.conf file for your server, or in the web root directory? If you’re having it put the rewrite rules in the web root, have you pointed to it in the server’s nginx.conf file?

    Thanks for the reply, can you clarify this inclusion process? W3TC put the rewrite rules in the web root.

    You either need to move those rules into you current nginx config file or tell nginx to also check the w3tc nginx.conf file for re-write rules. You could add something to your location block along the lines of:

    include /pathtomywebfolder/nginx.conf;

    A word of warning though, if you have w3tc set gzip, you may need to remove any conflicting gzip settings from the nginx default config file. If you don’t, when you go to restart nginx, you’ll get an error and your site will be offline until you resolve the conflict and start nginx up again.

    Thanks again for the reply. I actually was on the right track earlier, I included the W3TC-created nginx.conf in my Nginx.conf file and disabled gzip in the main configuration:

    user www-data;
    worker_processes  1;
    
    error_log  /var/log/nginx/error.log;
    pid        /var/run/nginx.pid;
    
    events {
        worker_connections  1024;
        # multi_accept on;
    }
    
    http {
        include       /etc/nginx/mime.types;
    
        access_log  /var/log/nginx/access.log;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
        tcp_nodelay        on;
    
        #gzip  on;
        #gzip_disable "MSIE [1-6]\.(?!.*SV1)";
    
        ## ADDED FILE HERE
        include /var/www/techerator.com/public_html/nginx.conf;
    
        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
    }

    But this gives the error:

    Restarting nginx: [emerg]: "location" directive is not allowed here in /var/www/techerator.com/public_html/nginx.conf:2
    configuration file /etc/nginx/nginx.conf test failed

    From what I can tell, it’s breaking because it doesn’t like the syntax in the W3TC-created nginx.conf file. This file starts right away with the location block.

    Any thoughts?

    Have you tried putting it into the server block of sites-enabled file (presumably something like etc/nginx/sites-enabled/techerator.com)?

    That worked without throwing any Nginx errors, but I’m still seeing the original warning message:

    It appears URL rewriting is not working. If using apache, verify that the server configuration allows .htaccess or if using nginx verify all configuration files are included in the configuration.

    Thanks for your continued help with this.

    If it would help to see my full .conf file from my /sites-enabled folder, let me know and maybe I could email it to you.

    Honestly, you probably need to submit a bug report in w3tc. If nginx is starting up without any errors and is including the rewrite rules, then the problem is probably somewhere else either in w3tc or possibly in your server config. You’d need to have Frederick or somebody log in to take a look at it.

    Is there a recommended way to reach Frederick?

    Thanks for all your help with this.

    Just use the support section inside of the plug-in to report a bug.

    Hi,

    Great plugin – but I too have the same problem as “evanw”.
    WP 3.1 and using the Development version of W3 Total Cache

    In my /etc/nginx/sites-enabled/mysite.com I have the following within the server block:

    include         /var/www/mysite.com/nginx.conf;

    But with the plugin was still saying:
    “It appears URL rewriting is not working. If using apache, verify that the server configuration allows .htaccess or if using nginx verify all configuration files are included in the configuration.”

    The only way to make the message disappear was in General > Page Cache > Page Cache Method: changed to Disk (basic) rather than Disk (enhanced).

    Plugin Author Frederick Townes

    @fredericktownes

    This should be better behaved in later releases.

Viewing 12 replies - 1 through 12 (of 12 total)
  • The topic ‘[Plugin: W3 Total Cache] Nginx URL Rewriting Warning’ is closed to new replies.
Skip to toolbar