Home > OS >  .htaccess rule help in a plex non-windows hosting environment
.htaccess rule help in a plex non-windows hosting environment

Time:08-11

I'm having trouble writing a rule for .htaccess which will redirect HTML to PHP. I'm using 302 until I get it to work right - then I'll change to a 301. I found several postings that describe this, but I am having problems - possibly because I'm running a hosting package, and each client is in a virtual/subfolder (sorry for poor description of hosting environment).

The rule I am using is ...

RewriteEngine on

RewriteRule ^(.*).html$ $1.php [R=302]

...

When I try to go to https://dmcelebratealife.com/index.html I get a 404 message saying:

https://www.dmcelebratealife.com/var/www/vhosts/dmcelebratealife.com/public_html/index.php

CodePudding user response:

I added the following and it seemed to work for me.

RewriteEngine on
RewriteRule ^(.*)\.html$ /$1.php [R=302]

CodePudding user response:

This works for me and is domain-independent.

RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(?!. \.\w{2,4})(. )$ $1.php [L]
RewriteCond %{DOCUMENT_ROOT}/$1.html -f
RewriteRule ^(?!. \.\w{2,4})(. )$ $1.html [L]

The first two redirect to the php file if it exists. If it doesn't then the second two will try for an HTML file.

Note it doesn`t use a 302 as you don't want to tell the user what you are doing. This does an internal redirect.

This means that if the user types in

https://www.example.com/test

it will remain in the URL box, but the following file will be executed

https://www.example.com/test.php

  • Related