.htaccess file returning 404 error when redirecting the root folder to a file












0















i am at my wit's end with this one.



I have a .htacces file which i'm using to redirect certain roots to files.



For example:



example.com/ to example.com/home.php



example.com/subdir/ to example.com/subdir/home.php



This is working great for my subdir redirect but my root redirect to home.php throws up a 404 error and then redirects me to my site's 404 eorr page.



This is my .htaccess file (i've left everything in just incase another rule is throwing things off).



RewriteEngine off
RewriteEngine on
AddDefaultCharset utf-8

#Alter the default time zone for the site
SetEnv TZ Europe/London

#set the RewriteBase
RewriteBase /

#Redirect from root to home.php
RewriteCond %{REQUEST_URI} ^/?$
RewriteRule (/)?$ home.php [L]

#Redirect from /subdir to /subdir/home.php
RewriteCond %{REQUEST_URI} ^/subdir/?$
RewriteRule ^subdir(/)?$ subdir/home.php [L]

#Removing .php from the end of file paths
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L,QSA]

#Forcing https://
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www.)?(.*)$ [NC]
RewriteRule (.*) https://%1%{REQUEST_URI}

#Redirect to 404 error page
ErrorDocument 404 /page_not_found.php
RewriteCond %{HTTP_HOST} ^(www.)?example.com/(.*)$
RewriteRule ^$ "https://example.com/page_not_found.php" [R=301]


What should i be doing to get example.com and example.com/ to redirect to example.com/home.php?










share|improve this question



























    0















    i am at my wit's end with this one.



    I have a .htacces file which i'm using to redirect certain roots to files.



    For example:



    example.com/ to example.com/home.php



    example.com/subdir/ to example.com/subdir/home.php



    This is working great for my subdir redirect but my root redirect to home.php throws up a 404 error and then redirects me to my site's 404 eorr page.



    This is my .htaccess file (i've left everything in just incase another rule is throwing things off).



    RewriteEngine off
    RewriteEngine on
    AddDefaultCharset utf-8

    #Alter the default time zone for the site
    SetEnv TZ Europe/London

    #set the RewriteBase
    RewriteBase /

    #Redirect from root to home.php
    RewriteCond %{REQUEST_URI} ^/?$
    RewriteRule (/)?$ home.php [L]

    #Redirect from /subdir to /subdir/home.php
    RewriteCond %{REQUEST_URI} ^/subdir/?$
    RewriteRule ^subdir(/)?$ subdir/home.php [L]

    #Removing .php from the end of file paths
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^(.*)$ $1.php [L,QSA]

    #Forcing https://
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} ^(?:www.)?(.*)$ [NC]
    RewriteRule (.*) https://%1%{REQUEST_URI}

    #Redirect to 404 error page
    ErrorDocument 404 /page_not_found.php
    RewriteCond %{HTTP_HOST} ^(www.)?example.com/(.*)$
    RewriteRule ^$ "https://example.com/page_not_found.php" [R=301]


    What should i be doing to get example.com and example.com/ to redirect to example.com/home.php?










    share|improve this question

























      0












      0








      0








      i am at my wit's end with this one.



      I have a .htacces file which i'm using to redirect certain roots to files.



      For example:



      example.com/ to example.com/home.php



      example.com/subdir/ to example.com/subdir/home.php



      This is working great for my subdir redirect but my root redirect to home.php throws up a 404 error and then redirects me to my site's 404 eorr page.



      This is my .htaccess file (i've left everything in just incase another rule is throwing things off).



      RewriteEngine off
      RewriteEngine on
      AddDefaultCharset utf-8

      #Alter the default time zone for the site
      SetEnv TZ Europe/London

      #set the RewriteBase
      RewriteBase /

      #Redirect from root to home.php
      RewriteCond %{REQUEST_URI} ^/?$
      RewriteRule (/)?$ home.php [L]

      #Redirect from /subdir to /subdir/home.php
      RewriteCond %{REQUEST_URI} ^/subdir/?$
      RewriteRule ^subdir(/)?$ subdir/home.php [L]

      #Removing .php from the end of file paths
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME}.php -f
      RewriteRule ^(.*)$ $1.php [L,QSA]

      #Forcing https://
      RewriteCond %{HTTPS} off
      RewriteCond %{HTTP_HOST} ^(?:www.)?(.*)$ [NC]
      RewriteRule (.*) https://%1%{REQUEST_URI}

      #Redirect to 404 error page
      ErrorDocument 404 /page_not_found.php
      RewriteCond %{HTTP_HOST} ^(www.)?example.com/(.*)$
      RewriteRule ^$ "https://example.com/page_not_found.php" [R=301]


      What should i be doing to get example.com and example.com/ to redirect to example.com/home.php?










      share|improve this question














      i am at my wit's end with this one.



      I have a .htacces file which i'm using to redirect certain roots to files.



      For example:



      example.com/ to example.com/home.php



      example.com/subdir/ to example.com/subdir/home.php



      This is working great for my subdir redirect but my root redirect to home.php throws up a 404 error and then redirects me to my site's 404 eorr page.



      This is my .htaccess file (i've left everything in just incase another rule is throwing things off).



      RewriteEngine off
      RewriteEngine on
      AddDefaultCharset utf-8

      #Alter the default time zone for the site
      SetEnv TZ Europe/London

      #set the RewriteBase
      RewriteBase /

      #Redirect from root to home.php
      RewriteCond %{REQUEST_URI} ^/?$
      RewriteRule (/)?$ home.php [L]

      #Redirect from /subdir to /subdir/home.php
      RewriteCond %{REQUEST_URI} ^/subdir/?$
      RewriteRule ^subdir(/)?$ subdir/home.php [L]

      #Removing .php from the end of file paths
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME}.php -f
      RewriteRule ^(.*)$ $1.php [L,QSA]

      #Forcing https://
      RewriteCond %{HTTPS} off
      RewriteCond %{HTTP_HOST} ^(?:www.)?(.*)$ [NC]
      RewriteRule (.*) https://%1%{REQUEST_URI}

      #Redirect to 404 error page
      ErrorDocument 404 /page_not_found.php
      RewriteCond %{HTTP_HOST} ^(www.)?example.com/(.*)$
      RewriteRule ^$ "https://example.com/page_not_found.php" [R=301]


      What should i be doing to get example.com and example.com/ to redirect to example.com/home.php?







      php apache .htaccess redirect






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 22 '18 at 10:51









      Robert FranklinRobert Franklin

      1




      1
























          1 Answer
          1






          active

          oldest

          votes


















          0














          Try this in after the comments #Removing .php from the end of file paths
          Do comment your own code and paste this. It might help you



           RewriteEngine On
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteRule ^(.*)$ index.php/$1 [L]





          share|improve this answer



















          • 1





            thanks for responding. That's got me a step in the right direction. It now redirects from example.com and example.com/ however it still fails for https://example.com and https://example.com any ideas?

            – Robert Franklin
            Nov 26 '18 at 8:51











          • Can't say any further bro but that was working for me thats why i have shared with you :)

            – Akhtar Munir
            Nov 26 '18 at 8:58











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53429293%2fhtaccess-file-returning-404-error-when-redirecting-the-root-folder-to-a-file%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          Try this in after the comments #Removing .php from the end of file paths
          Do comment your own code and paste this. It might help you



           RewriteEngine On
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteRule ^(.*)$ index.php/$1 [L]





          share|improve this answer



















          • 1





            thanks for responding. That's got me a step in the right direction. It now redirects from example.com and example.com/ however it still fails for https://example.com and https://example.com any ideas?

            – Robert Franklin
            Nov 26 '18 at 8:51











          • Can't say any further bro but that was working for me thats why i have shared with you :)

            – Akhtar Munir
            Nov 26 '18 at 8:58
















          0














          Try this in after the comments #Removing .php from the end of file paths
          Do comment your own code and paste this. It might help you



           RewriteEngine On
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteRule ^(.*)$ index.php/$1 [L]





          share|improve this answer



















          • 1





            thanks for responding. That's got me a step in the right direction. It now redirects from example.com and example.com/ however it still fails for https://example.com and https://example.com any ideas?

            – Robert Franklin
            Nov 26 '18 at 8:51











          • Can't say any further bro but that was working for me thats why i have shared with you :)

            – Akhtar Munir
            Nov 26 '18 at 8:58














          0












          0








          0







          Try this in after the comments #Removing .php from the end of file paths
          Do comment your own code and paste this. It might help you



           RewriteEngine On
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteRule ^(.*)$ index.php/$1 [L]





          share|improve this answer













          Try this in after the comments #Removing .php from the end of file paths
          Do comment your own code and paste this. It might help you



           RewriteEngine On
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteRule ^(.*)$ index.php/$1 [L]






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 22 '18 at 11:39









          Akhtar MunirAkhtar Munir

          6612




          6612








          • 1





            thanks for responding. That's got me a step in the right direction. It now redirects from example.com and example.com/ however it still fails for https://example.com and https://example.com any ideas?

            – Robert Franklin
            Nov 26 '18 at 8:51











          • Can't say any further bro but that was working for me thats why i have shared with you :)

            – Akhtar Munir
            Nov 26 '18 at 8:58














          • 1





            thanks for responding. That's got me a step in the right direction. It now redirects from example.com and example.com/ however it still fails for https://example.com and https://example.com any ideas?

            – Robert Franklin
            Nov 26 '18 at 8:51











          • Can't say any further bro but that was working for me thats why i have shared with you :)

            – Akhtar Munir
            Nov 26 '18 at 8:58








          1




          1





          thanks for responding. That's got me a step in the right direction. It now redirects from example.com and example.com/ however it still fails for https://example.com and https://example.com any ideas?

          – Robert Franklin
          Nov 26 '18 at 8:51





          thanks for responding. That's got me a step in the right direction. It now redirects from example.com and example.com/ however it still fails for https://example.com and https://example.com any ideas?

          – Robert Franklin
          Nov 26 '18 at 8:51













          Can't say any further bro but that was working for me thats why i have shared with you :)

          – Akhtar Munir
          Nov 26 '18 at 8:58





          Can't say any further bro but that was working for me thats why i have shared with you :)

          – Akhtar Munir
          Nov 26 '18 at 8:58




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53429293%2fhtaccess-file-returning-404-error-when-redirecting-the-root-folder-to-a-file%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          android studio warns about leanback feature tag usage required on manifest while using Unity exported app?

          SQL update select statement

          'app-layout' is not a known element: how to share Component with different Modules