I have a WordPress website which is using custom permalinks in this format:

/%category%/%postname%/

And it’s default .htaccess file contains below codes:

# BEGIN WordPress
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index.php$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Also it’s template shows the home page it self, without previous created one in admin panel. The reading option is also set on the first one like default (show new posts). So actually I don’t know how it handles the home page, but there is a control panel of the theme in admin panel and there we can choose how it would be displayed.

Now, the problem is adding a Splash Screen as a simple HTML file to my website. I already created an index.html file and because of higher priority it loads before index.php (the WordPress).

I need to show this intro page ( index.html ) at the main URL ( http://www.domain.com ) and have the WordPress index in another URL ( http://www.domain.com/home/ for example ). I don’t mean creating another directory, but only replacing index.php to /home/ friendly URL.

I also need the /home/ in other utf-8 charset. I mean this one:

http://www.domain.com/خانه/

Finally and in brief:

  1. website root should be index.html
  2. wordpress root should be /

How can I make it happen?

Answer: .htaccess!

# invoke rewrite engine RewriteEngine On RewriteBase / Options -Indexes <IfModule mod_negotiation.c> Options -MultiViews </IfModule> # redirect all extension to html RewriteCond %{QUERY_STRING} ^$ RewriteRule ^(.*)\.shtml$ $1.html [L,NC,R=301] RewriteRule ^$ index.html [L,R=301]    

Solution:

If you know the solution of this issue, please leave us a reply in Comment section, to update the question.


WordPress related questions and answers: