Hey guys, I've been pulling my hair out over this all night. My goal is to change this: /review/reference/vocabulary/by-alphabet/a/ into (for now, as a test) /temp/urlcheck.php?myvar=a where "a" could be any letter or word. So far, I've learned to put this into my functions page: // Mod_rewrite stuff add_action( 'init', 'wpse12708_init' ); function wpse12708_init() { global $wp_rewrite; $wp_rewrite->add_external_rule('/review/reference/vocabulary/by-alphabet/([a-zA-Z_]+)/$', 'temp/urlcheck\.php?myvar=$1' ); } PHP: Which, after flushing the rewrites, puts this into my htaccess file: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteRule ^/review/reference/vocabulary/by-alphabet/([a-zA-Z_]+)/$ /temp/urlcheck\.php?myvar=$1 [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress Code (markup): I also tried it without escaping the period of "urlcheck.php", with no change. When I load up the URL: /review/reference/vocabulary/by-alphabet/a/ It actually redirects to the post with the lowest id (/textbook/introduction/a-brief-history-of-greek/). I have no idea of where to look next. I don't think there are any plugins messing around with it, as I disabled all of my plugins, and still no luck. The "urlcheck.php" page is simple, just to test this (I tested this, it's working fine): <?php define('WP_USE_THEMES', false); require('../wp-load.php'); $currenturl = $_SERVER['REQUEST_URI']; echo "Current url: $currenturl<br><br>"; print_r($_POST); var_dump($_GET); ?> PHP: Any help would be amazing. I don't know what I'm doing with Apache . Thanks! P.S. As a side note, I did try a much simpler rewrite (/google.html -> google.com, to paraphrase it), and that worked just fine, so that shouldn't be the issue .