Loading php pages outside of wordpress -
i want load page, /foo.php, on server has wordpress installed, without adding page wordpress.
right http request /foo.php returns 404.
how can load content outside of wordpress without creating pages in template?
i figured out problem. in .htaccess file.
# begin wordpress <ifmodule mod_rewrite.c> rewriteengine on rewritebase /blog/ rewriterule ^index\.php$ - [l] rewritecond %{request_filename} !-f rewritecond %{request_filename} !-d rewriterule . /blog/index.php [l] rewriterule ^/([^-]*)$ /$1.php options +followsymlinks -multiviews # turn mod_rewrite on rewriteengine on rewritebase / ## hide .php extension # externally redirect /dir/foo.php /dir/foo rewritecond %{the_request} ^[a-z]{3,}\s([^.]+)\.php [nc] rewriterule ^ %1 [r,l,nc] ## internally forward /dir/foo /dir/foo.php rewritecond %{request_filename}.php -f rewriterule ^ %{request_filename}.php [l] </ifmodule> # end wordpress
the top rules wordpress mucking up. removing or commenting them out, normal pages load regardless of whether user calls /foo or /foo.php
this working .htaccess file
# begin wordpress <ifmodule mod_rewrite.c> # rewriteengine on # rewritebase /blog/ # rewriterule ^index\.php$ - [l] # rewritecond %{request_filename} !-f # rewritecond %{request_filename} !-d # rewriterule . /blog/index.php [l] # rewriterule ^/([^-]*)$ /$1.php options +followsymlinks -multiviews # turn mod_rewrite on rewriteengine on rewritebase / ## hide .php extension # externally redirect /dir/foo.php /dir/foo rewritecond %{the_request} ^[a-z]{3,}\s([^.]+)\.php [nc] rewriterule ^ %1 [r,l,nc] ## internally forward /dir/foo /dir/foo.php rewritecond %{request_filename}.php -f rewriterule ^ %{request_filename}.php [l] </ifmodule> # end wordpress
Comments
Post a Comment