Redirect everything after Sub Directory, keep URL












0















I need to redirect /acatalog/vvv-123 to /vvv-123



This is what I have in my .htaccess file at the moment:



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


Any help would be great.










share|improve this question



























    0















    I need to redirect /acatalog/vvv-123 to /vvv-123



    This is what I have in my .htaccess file at the moment:



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


    Any help would be great.










    share|improve this question

























      0












      0








      0








      I need to redirect /acatalog/vvv-123 to /vvv-123



      This is what I have in my .htaccess file at the moment:



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


      Any help would be great.










      share|improve this question














      I need to redirect /acatalog/vvv-123 to /vvv-123



      This is what I have in my .htaccess file at the moment:



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


      Any help would be great.







      .htaccess redirect






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 21 '18 at 11:38









      WebDevBWebDevB

      1952219




      1952219
























          1 Answer
          1






          active

          oldest

          votes


















          0














          You need to understand, that RewriteRules in dynamic configuration files operate in relative paths, in contrary to absolute paths that are used when defining such rules in the real http servers host configuration. That is why your rule does not get applied. This is well documented, by the way...



          So you need to change



          RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]


          to use a relative path approach, so something like



          RewriteRule ^/?acatalog/([^/]+)/? /$1 [L]


          Note the start and the end of the pattern change: the question mark at the start takes care that the rule gets applied on a relative or an absolute path, that at the end takes care that the rule also gets applied if the request does not end with a slash.



          In general you should prefer to place such rules in the real http servers host configuration instead of relying on dynamic configuration files.






          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%2f53411260%2fredirect-everything-after-sub-directory-keep-url%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














            You need to understand, that RewriteRules in dynamic configuration files operate in relative paths, in contrary to absolute paths that are used when defining such rules in the real http servers host configuration. That is why your rule does not get applied. This is well documented, by the way...



            So you need to change



            RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]


            to use a relative path approach, so something like



            RewriteRule ^/?acatalog/([^/]+)/? /$1 [L]


            Note the start and the end of the pattern change: the question mark at the start takes care that the rule gets applied on a relative or an absolute path, that at the end takes care that the rule also gets applied if the request does not end with a slash.



            In general you should prefer to place such rules in the real http servers host configuration instead of relying on dynamic configuration files.






            share|improve this answer




























              0














              You need to understand, that RewriteRules in dynamic configuration files operate in relative paths, in contrary to absolute paths that are used when defining such rules in the real http servers host configuration. That is why your rule does not get applied. This is well documented, by the way...



              So you need to change



              RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]


              to use a relative path approach, so something like



              RewriteRule ^/?acatalog/([^/]+)/? /$1 [L]


              Note the start and the end of the pattern change: the question mark at the start takes care that the rule gets applied on a relative or an absolute path, that at the end takes care that the rule also gets applied if the request does not end with a slash.



              In general you should prefer to place such rules in the real http servers host configuration instead of relying on dynamic configuration files.






              share|improve this answer


























                0












                0








                0







                You need to understand, that RewriteRules in dynamic configuration files operate in relative paths, in contrary to absolute paths that are used when defining such rules in the real http servers host configuration. That is why your rule does not get applied. This is well documented, by the way...



                So you need to change



                RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]


                to use a relative path approach, so something like



                RewriteRule ^/?acatalog/([^/]+)/? /$1 [L]


                Note the start and the end of the pattern change: the question mark at the start takes care that the rule gets applied on a relative or an absolute path, that at the end takes care that the rule also gets applied if the request does not end with a slash.



                In general you should prefer to place such rules in the real http servers host configuration instead of relying on dynamic configuration files.






                share|improve this answer













                You need to understand, that RewriteRules in dynamic configuration files operate in relative paths, in contrary to absolute paths that are used when defining such rules in the real http servers host configuration. That is why your rule does not get applied. This is well documented, by the way...



                So you need to change



                RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]


                to use a relative path approach, so something like



                RewriteRule ^/?acatalog/([^/]+)/? /$1 [L]


                Note the start and the end of the pattern change: the question mark at the start takes care that the rule gets applied on a relative or an absolute path, that at the end takes care that the rule also gets applied if the request does not end with a slash.



                In general you should prefer to place such rules in the real http servers host configuration instead of relying on dynamic configuration files.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 21 '18 at 11:44









                arkaschaarkascha

                30.5k43571




                30.5k43571






























                    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%2f53411260%2fredirect-everything-after-sub-directory-keep-url%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

                    Paul Cézanne

                    UIScrollView CustomStickyHeader Resize height generates problems when scroll is too fast

                    Angular material date-picker (MatDatepicker) auto completes the date on focus out