htaccess to remove index.php, with multiple domains2019 Community Moderator ElectionI want to disable the access of a directory but not the child directory with .htaccesshtaccess url re-styling image url to seo friendlyUnable to remove index.php in WAMP with Codeigniter URLhtaccess doesnt remove index.php if WWW is in the URLMultiple languages + Htaccesshtaccess stop auto redirecting to a unknown folderThere is /index.php? in the URL when I use .htaccess to redirect404 issue in two htaccess in root domain and subfolerNot working my .htaccess and config filesset domain to subdirectory and subdomain to root directory

Should we release the security issues we found in our product as CVE or we can just update those on weekly release notes?

Best approach to update all entries in a list that is paginated?

Time travel short story where dinosaur doesn't taste like chicken

Does Linux have system calls to access all the features of the file systems it supports?

Deleting missing values from a dataset

What is the definition of "Natural Selection"?

Best mythical creature to use as livestock?

Do I need to leave some extra space available on the disk which my database log files reside, for log backup operations to successfully occur?

Potentiometer like component

It's a yearly task, alright

Should QA ask requirements to developers?

Question about partial fractions with irreducible quadratic factors

Why do Australian milk farmers need to protest supermarkets' milk price?

How to make readers know that my work has used a hidden constraint?

What is the difference between "shut" and "close"?

What happens with multiple copies of Humility and Glorious Anthem on the battlefield?

Why doesn't the EU now just force the UK to choose between referendum and no-deal?

Life insurance that covers only simultaneous/dual deaths

Why would a jet engine that runs at temps excess of 2000°C burn when it crashes?

Can infringement of a trademark be pursued for using a company's name in a sentence?

Is King K. Rool's down throw to up-special a true combo?

Giving Plot options defined outside of the Plot expression

Is having access to past exams cheating and, if yes, could it be proven just by a good grade?

What is the dot in “1.2.4."



htaccess to remove index.php, with multiple domains



2019 Community Moderator ElectionI want to disable the access of a directory but not the child directory with .htaccesshtaccess url re-styling image url to seo friendlyUnable to remove index.php in WAMP with Codeigniter URLhtaccess doesnt remove index.php if WWW is in the URLMultiple languages + Htaccesshtaccess stop auto redirecting to a unknown folderThere is /index.php? in the URL when I use .htaccess to redirect404 issue in two htaccess in root domain and subfolerNot working my .htaccess and config filesset domain to subdirectory and subdomain to root directory










0















This seems so basic, and there's a plethora of questions regarding .htaccess online, but after two days of research, I still can't make mine work the way I want.



What I want is:



  1. Force https on all requests


  2. Always use the "www" version of the url.


  3. Work on multiple domains (but not redirect them all to a master domain). All my domains point to the same folder (so they'd use the same codebase), and in its root is the .htaccess file.


  4. Remove the "index.php" part of the url, to make it human and SEO friendly.


This is what I have so far:



Start with the basic .htaccess code for CodeIgniter, as shown in the userguide:



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


Originally, the last line had the [L] flag, but I omitted it, so it will continue to the following rules.
(Am I correct in assuming that it takes the url output in the previous RewriteRule, and perform the following matches on it?)



# for non www urls, add www and force https:
RewriteCond %HTTP_HOST(.*) !^www. [NC]
RewriteRule ^(.*)$ https://www.%HTTP_HOST/$1 [R,L]

# for www urls, just force https:
RewriteRule ^(.*)$ https://%HTTP_HOST/$1 [R,L]


The above code is achieving tasks 1-3 of my list above, but the index.php is still showing in the address bar.
How do I remove it?










share|improve this question




























    0















    This seems so basic, and there's a plethora of questions regarding .htaccess online, but after two days of research, I still can't make mine work the way I want.



    What I want is:



    1. Force https on all requests


    2. Always use the "www" version of the url.


    3. Work on multiple domains (but not redirect them all to a master domain). All my domains point to the same folder (so they'd use the same codebase), and in its root is the .htaccess file.


    4. Remove the "index.php" part of the url, to make it human and SEO friendly.


    This is what I have so far:



    Start with the basic .htaccess code for CodeIgniter, as shown in the userguide:



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


    Originally, the last line had the [L] flag, but I omitted it, so it will continue to the following rules.
    (Am I correct in assuming that it takes the url output in the previous RewriteRule, and perform the following matches on it?)



    # for non www urls, add www and force https:
    RewriteCond %HTTP_HOST(.*) !^www. [NC]
    RewriteRule ^(.*)$ https://www.%HTTP_HOST/$1 [R,L]

    # for www urls, just force https:
    RewriteRule ^(.*)$ https://%HTTP_HOST/$1 [R,L]


    The above code is achieving tasks 1-3 of my list above, but the index.php is still showing in the address bar.
    How do I remove it?










    share|improve this question


























      0












      0








      0








      This seems so basic, and there's a plethora of questions regarding .htaccess online, but after two days of research, I still can't make mine work the way I want.



      What I want is:



      1. Force https on all requests


      2. Always use the "www" version of the url.


      3. Work on multiple domains (but not redirect them all to a master domain). All my domains point to the same folder (so they'd use the same codebase), and in its root is the .htaccess file.


      4. Remove the "index.php" part of the url, to make it human and SEO friendly.


      This is what I have so far:



      Start with the basic .htaccess code for CodeIgniter, as shown in the userguide:



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


      Originally, the last line had the [L] flag, but I omitted it, so it will continue to the following rules.
      (Am I correct in assuming that it takes the url output in the previous RewriteRule, and perform the following matches on it?)



      # for non www urls, add www and force https:
      RewriteCond %HTTP_HOST(.*) !^www. [NC]
      RewriteRule ^(.*)$ https://www.%HTTP_HOST/$1 [R,L]

      # for www urls, just force https:
      RewriteRule ^(.*)$ https://%HTTP_HOST/$1 [R,L]


      The above code is achieving tasks 1-3 of my list above, but the index.php is still showing in the address bar.
      How do I remove it?










      share|improve this question
















      This seems so basic, and there's a plethora of questions regarding .htaccess online, but after two days of research, I still can't make mine work the way I want.



      What I want is:



      1. Force https on all requests


      2. Always use the "www" version of the url.


      3. Work on multiple domains (but not redirect them all to a master domain). All my domains point to the same folder (so they'd use the same codebase), and in its root is the .htaccess file.


      4. Remove the "index.php" part of the url, to make it human and SEO friendly.


      This is what I have so far:



      Start with the basic .htaccess code for CodeIgniter, as shown in the userguide:



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


      Originally, the last line had the [L] flag, but I omitted it, so it will continue to the following rules.
      (Am I correct in assuming that it takes the url output in the previous RewriteRule, and perform the following matches on it?)



      # for non www urls, add www and force https:
      RewriteCond %HTTP_HOST(.*) !^www. [NC]
      RewriteRule ^(.*)$ https://www.%HTTP_HOST/$1 [R,L]

      # for www urls, just force https:
      RewriteRule ^(.*)$ https://%HTTP_HOST/$1 [R,L]


      The above code is achieving tasks 1-3 of my list above, but the index.php is still showing in the address bar.
      How do I remove it?







      .htaccess codeigniter codeigniter-htaccess






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 7 at 20:39







      einav

















      asked Mar 7 at 9:57









      einaveinav

      395524




      395524






















          1 Answer
          1






          active

          oldest

          votes


















          0














          Well, I (partially) gave up on .htaccess, and solved my problem in a different way:



          I'm now using CodeIgniter hook to deal with forcing https, and leave htaccess to deal only with forcing www and removing index.php



          So I removed the last line (RewriteRule ^(.*)$ https://%HTTP_HOST/$1 [R,L]), and added an ssl hook to my application, and all is working now.



          The hook function, in case anyone is interested, is this:



          function force_ssl()


          if ($_SERVER['HTTP_HOST']!='localhost' && $_SERVER['HTTP_HOST']!='10.0.2.2')

          $CI =& get_instance();

          $CI->config->config['base_url'] = str_replace('http://', 'https://', $CI->config->config['base_url']);

          if ($_SERVER['SERVER_PORT'] != 443) redirect($CI->uri->uri_string());








          share|improve this answer






















            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%2f55040849%2fhtaccess-to-remove-index-php-with-multiple-domains%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














            Well, I (partially) gave up on .htaccess, and solved my problem in a different way:



            I'm now using CodeIgniter hook to deal with forcing https, and leave htaccess to deal only with forcing www and removing index.php



            So I removed the last line (RewriteRule ^(.*)$ https://%HTTP_HOST/$1 [R,L]), and added an ssl hook to my application, and all is working now.



            The hook function, in case anyone is interested, is this:



            function force_ssl()


            if ($_SERVER['HTTP_HOST']!='localhost' && $_SERVER['HTTP_HOST']!='10.0.2.2')

            $CI =& get_instance();

            $CI->config->config['base_url'] = str_replace('http://', 'https://', $CI->config->config['base_url']);

            if ($_SERVER['SERVER_PORT'] != 443) redirect($CI->uri->uri_string());








            share|improve this answer



























              0














              Well, I (partially) gave up on .htaccess, and solved my problem in a different way:



              I'm now using CodeIgniter hook to deal with forcing https, and leave htaccess to deal only with forcing www and removing index.php



              So I removed the last line (RewriteRule ^(.*)$ https://%HTTP_HOST/$1 [R,L]), and added an ssl hook to my application, and all is working now.



              The hook function, in case anyone is interested, is this:



              function force_ssl()


              if ($_SERVER['HTTP_HOST']!='localhost' && $_SERVER['HTTP_HOST']!='10.0.2.2')

              $CI =& get_instance();

              $CI->config->config['base_url'] = str_replace('http://', 'https://', $CI->config->config['base_url']);

              if ($_SERVER['SERVER_PORT'] != 443) redirect($CI->uri->uri_string());








              share|improve this answer

























                0












                0








                0







                Well, I (partially) gave up on .htaccess, and solved my problem in a different way:



                I'm now using CodeIgniter hook to deal with forcing https, and leave htaccess to deal only with forcing www and removing index.php



                So I removed the last line (RewriteRule ^(.*)$ https://%HTTP_HOST/$1 [R,L]), and added an ssl hook to my application, and all is working now.



                The hook function, in case anyone is interested, is this:



                function force_ssl()


                if ($_SERVER['HTTP_HOST']!='localhost' && $_SERVER['HTTP_HOST']!='10.0.2.2')

                $CI =& get_instance();

                $CI->config->config['base_url'] = str_replace('http://', 'https://', $CI->config->config['base_url']);

                if ($_SERVER['SERVER_PORT'] != 443) redirect($CI->uri->uri_string());








                share|improve this answer













                Well, I (partially) gave up on .htaccess, and solved my problem in a different way:



                I'm now using CodeIgniter hook to deal with forcing https, and leave htaccess to deal only with forcing www and removing index.php



                So I removed the last line (RewriteRule ^(.*)$ https://%HTTP_HOST/$1 [R,L]), and added an ssl hook to my application, and all is working now.



                The hook function, in case anyone is interested, is this:



                function force_ssl()


                if ($_SERVER['HTTP_HOST']!='localhost' && $_SERVER['HTTP_HOST']!='10.0.2.2')

                $CI =& get_instance();

                $CI->config->config['base_url'] = str_replace('http://', 'https://', $CI->config->config['base_url']);

                if ($_SERVER['SERVER_PORT'] != 443) redirect($CI->uri->uri_string());









                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Mar 7 at 23:59









                einaveinav

                395524




                395524





























                    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%2f55040849%2fhtaccess-to-remove-index-php-with-multiple-domains%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

                    How to get text form Clipboard with JavaScript in Firefox 56?How to validate an email address in JavaScript?How do JavaScript closures work?How do I remove a property from a JavaScript object?How do you get a timestamp in JavaScript?How do I copy to the clipboard in JavaScript?How do I include a JavaScript file in another JavaScript file?Get the current URL with JavaScript?How to replace all occurrences of a string in JavaScriptHow to check whether a string contains a substring in JavaScript?How do I remove a particular element from an array in JavaScript?

                    Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme

                    Thal And Out Agency railway station See also References External links Navigation menuOfficial Web Site of Pakistan RailwaysArchivedOfficial Web Site of Pakistan Railwayseeexpanding ite