Rewrite rule for admin-ajax.php

There are a few things to sort out here. The first is why your rewrite rule will not work. add_rewrite_rule(‘/api’, ‘/wp-admin/admin-ajax.php’, ‘top’); The WordPress rewrite does not redirect to a page. What does is it parses the path using regular expressions into a WordPress query vars. If you disable pretty URLs in WordPress, you’ll see … Read more

Two “.htaccess” Files Located in Different Directories?

In general, Apache will use the most specific .htaccess to the resource being requested. This means that, for accessing files in /httpdocs/wordpress/, /httpdocs/wordpress/.htaccess will be used. Access to /httpdocs/foo/ will use /httpdocs/foo/.htaccess and, if that doesn’t exist, it will use /httpdocs/.htaccess. If your document root is pointing to /httpdocs/wordpress/, then users will see http://www.example.com as … Read more

attachment url rewrite

Actually, you can always just use a query parameter, even if you have the “pretty” permalinks enabled. So instead of /category/sub-category/article.html/attachment/image you can go to /?attachment=image. The only case when this “breaks down” is when you go to /category/sub-category/article.html?attachment=image, because WordPress gets confused: it tries to query for a post and an attachment at the … Read more

add_rewrite_rule and pagination issue

Your first two rewrite rules do not end with $, which indicates that the URL should stop there. So myPage/mySuPage/param1/param2/page/3 would still be matched by the first pattern, because it can just ignored the /page/3 part at the end. The next rewrite rules will then never be used. With my Rewrite analyzer plugin I was … Read more

Rewrite loading custom template file but is_home() returns true, and there’s no 404

Conditional variables are based on the main page query ($wp_query). If you want is_home() to be false, then you need to manually set it to false ($wp_query->is_home = false) or override the main query such that it’s not true anymore. Probably you’d do that in your template_redirect_intercept function there, or in the individual page templates … Read more