wordpress - Loading index.php contents which located outside blog folder for post single page -
i'm creating blog page wordpress static php website. when blog page url changes pretty permalink
(example.com/blog/my-post-page
), loading contents (not redirecting index.php, contents loading , url http://example.com/blog/my-post-page) of index.php
(home page site) located outside blog folder instead of single.php
contents.
when permalink changes default
(example.com/blog/?p=123
), work perfectly.
i need url http://example.com/blog/my-post-page.
edit : - have updated permalink custom structure /index.php/%postname%/
. post pages showing example.com/blog/index.php/my-post-page
.
i think issue raised new wordpress version. (version 4.2.2). solutions remove index.php
url ?
my directory structure:-
/ - root /blog - blog folder /blog/wp-content/themes/mytheme/ - theme folder /blog/wp-content/themes/mytheme/single.php - post single page /index.php - home page (loading contents of file)
my htaccess :-
<ifmodule mod_rewrite.c> rewriteengine on rewritebase /blog/ rewriterule ^index\.php$ - [l] rewritecond %{request_filename} !-f rewritecond %{request_filename} !-d rewriterule . /index.php [l] </ifmodule>
when delete/rename index.php in root folder, page show not found error.
in htaccess
can write regex expression url rewrite in case
rewriterule ^/blog/\(.+)$ /blog/index.php?postname=$1
this line means if url starts /blog/
after /
passed /blog/index.php
postname
parameter. example.com/blog/my-post-page
rewritten example.com/blog/index.php?postname=my-post-page
you can exclude rule
for example let's exclude this: /blog/wp-content/themes/mytheme/
go this:
rewriterule ^(?!/(.+)/(.+)/(.+)/(.+))/blog/\(.+)$ /blog/index.php?postname=$1
Comments
Post a Comment