Nginx location match if not equalBlank Page: wordpress on nginx+php-fpmNginx Redirect Url containing “PHP”How does try_files work?nginx and try_files: try named location with rewrites before fallbacknginx php5-fpm path_info urls and root locationNGINX don't parse .php5 as .phpCodeIgniter nginx rewrite rules for i8ln URL'sHow to configure nginx to serve one site from two different document root and using different php depending on URLREQUEST_URI htaccess nginxconfiguring nginx + symfony on internal location in existing site

Natural Armour and Weapons

Making a electromagnet

USPS Back Room - Trespassing?

How to deal with a colleague who is being aggressive?

Liars, truth-tellers and jokers

What is the meaning of "<&3" and "done < file11 3< file22"

Should there be an "a" before "ten years imprisonment"?

Is my plasma cannon concept viable?

How to cut a climbing rope?

How to politely tell someone they did not hit "reply to all" in an email?

Why did Drogon spare this character?

Why did Theresa May offer a vote on a second Brexit referendum?

Why did British Steel have to borrow 120 million pounds (from the government) to cover its ETS obligations?

Mercedes C180 (W204) dash symbol

Is there any relationship between frequency of signal and distance it travels?

How can I make an argument that my time is valuable?

How to patch glass cuts in a bicycle tire?

Do photons bend spacetime or not?

ESTA validity after a visa denial

Parallel fifths in the orchestra

Need to read my home electrical Meter

Can a person survive on blood in place of water?

Shorten or merge multiple lines of `&> /dev/null &`

Best material to absorb as much light as possible



Nginx location match if not equal


Blank Page: wordpress on nginx+php-fpmNginx Redirect Url containing “PHP”How does try_files work?nginx and try_files: try named location with rewrites before fallbacknginx php5-fpm path_info urls and root locationNGINX don't parse .php5 as .phpCodeIgniter nginx rewrite rules for i8ln URL'sHow to configure nginx to serve one site from two different document root and using different php depending on URLREQUEST_URI htaccess nginxconfiguring nginx + symfony on internal location in existing site






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I have www.example.com/test and i want to write a condition if requested url is not equal to /test do a rewrite or redirect to www.example.com. The closest i can get is a code below but when i want to use www.example.com/test without / at the end it redirects me to www.example.com but when i type www.example.com/test/ it works.



location / 
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param HTTPS on;

if ($request_uri !~ ^/test/(.*)$)
return 301 $scheme://www.example.com;

try_files $uri $uri/ /index.php$is_args$args;
}









share|improve this question




























    0















    I have www.example.com/test and i want to write a condition if requested url is not equal to /test do a rewrite or redirect to www.example.com. The closest i can get is a code below but when i want to use www.example.com/test without / at the end it redirects me to www.example.com but when i type www.example.com/test/ it works.



    location / 
    fastcgi_param REQUEST_URI $request_uri;
    fastcgi_param HTTPS on;

    if ($request_uri !~ ^/test/(.*)$)
    return 301 $scheme://www.example.com;

    try_files $uri $uri/ /index.php$is_args$args;
    }









    share|improve this question
























      0












      0








      0


      1






      I have www.example.com/test and i want to write a condition if requested url is not equal to /test do a rewrite or redirect to www.example.com. The closest i can get is a code below but when i want to use www.example.com/test without / at the end it redirects me to www.example.com but when i type www.example.com/test/ it works.



      location / 
      fastcgi_param REQUEST_URI $request_uri;
      fastcgi_param HTTPS on;

      if ($request_uri !~ ^/test/(.*)$)
      return 301 $scheme://www.example.com;

      try_files $uri $uri/ /index.php$is_args$args;
      }









      share|improve this question














      I have www.example.com/test and i want to write a condition if requested url is not equal to /test do a rewrite or redirect to www.example.com. The closest i can get is a code below but when i want to use www.example.com/test without / at the end it redirects me to www.example.com but when i type www.example.com/test/ it works.



      location / 
      fastcgi_param REQUEST_URI $request_uri;
      fastcgi_param HTTPS on;

      if ($request_uri !~ ^/test/(.*)$)
      return 301 $scheme://www.example.com;

      try_files $uri $uri/ /index.php$is_args$args;
      }






      nginx rewrite rewritecond






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Dec 25 '18 at 22:13









      justdoolejustdoole

      11




      11




















          1 Answer
          1






          active

          oldest

          votes


















          1














          Nginx If



          Generally with Nginx you avoid using the IF statement. It takes more resources and doesn't always work how you want.



          Solution



          The way you do this is to define two locations, catchall and test.



          # I just copied this from above, you might want it in a block
          fastcgi_param REQUEST_URI $request_uri;
          fastcgi_param HTTPS on;

          # Return permanent redirect for everything other than the /test URL
          # Suggest you use 302 until you have this working perfectly. Google / browsers
          # caches 301 redirects for a long time
          location /
          return 301 $scheme://www.example.com;


          location /test
          try_files $uri $uri/ /index.php$is_args$args;



          I think this will work for both /test and /test/ . If not you could try this, which might work



          location ~* /test


          You should read up on how Nginx works, particularly location block matching. I think this article is likely to be useful.






          share|improve this answer























            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "2"
            ;
            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%2fserverfault.com%2fquestions%2f946606%2fnginx-location-match-if-not-equal%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









            1














            Nginx If



            Generally with Nginx you avoid using the IF statement. It takes more resources and doesn't always work how you want.



            Solution



            The way you do this is to define two locations, catchall and test.



            # I just copied this from above, you might want it in a block
            fastcgi_param REQUEST_URI $request_uri;
            fastcgi_param HTTPS on;

            # Return permanent redirect for everything other than the /test URL
            # Suggest you use 302 until you have this working perfectly. Google / browsers
            # caches 301 redirects for a long time
            location /
            return 301 $scheme://www.example.com;


            location /test
            try_files $uri $uri/ /index.php$is_args$args;



            I think this will work for both /test and /test/ . If not you could try this, which might work



            location ~* /test


            You should read up on how Nginx works, particularly location block matching. I think this article is likely to be useful.






            share|improve this answer



























              1














              Nginx If



              Generally with Nginx you avoid using the IF statement. It takes more resources and doesn't always work how you want.



              Solution



              The way you do this is to define two locations, catchall and test.



              # I just copied this from above, you might want it in a block
              fastcgi_param REQUEST_URI $request_uri;
              fastcgi_param HTTPS on;

              # Return permanent redirect for everything other than the /test URL
              # Suggest you use 302 until you have this working perfectly. Google / browsers
              # caches 301 redirects for a long time
              location /
              return 301 $scheme://www.example.com;


              location /test
              try_files $uri $uri/ /index.php$is_args$args;



              I think this will work for both /test and /test/ . If not you could try this, which might work



              location ~* /test


              You should read up on how Nginx works, particularly location block matching. I think this article is likely to be useful.






              share|improve this answer

























                1












                1








                1







                Nginx If



                Generally with Nginx you avoid using the IF statement. It takes more resources and doesn't always work how you want.



                Solution



                The way you do this is to define two locations, catchall and test.



                # I just copied this from above, you might want it in a block
                fastcgi_param REQUEST_URI $request_uri;
                fastcgi_param HTTPS on;

                # Return permanent redirect for everything other than the /test URL
                # Suggest you use 302 until you have this working perfectly. Google / browsers
                # caches 301 redirects for a long time
                location /
                return 301 $scheme://www.example.com;


                location /test
                try_files $uri $uri/ /index.php$is_args$args;



                I think this will work for both /test and /test/ . If not you could try this, which might work



                location ~* /test


                You should read up on how Nginx works, particularly location block matching. I think this article is likely to be useful.






                share|improve this answer













                Nginx If



                Generally with Nginx you avoid using the IF statement. It takes more resources and doesn't always work how you want.



                Solution



                The way you do this is to define two locations, catchall and test.



                # I just copied this from above, you might want it in a block
                fastcgi_param REQUEST_URI $request_uri;
                fastcgi_param HTTPS on;

                # Return permanent redirect for everything other than the /test URL
                # Suggest you use 302 until you have this working perfectly. Google / browsers
                # caches 301 redirects for a long time
                location /
                return 301 $scheme://www.example.com;


                location /test
                try_files $uri $uri/ /index.php$is_args$args;



                I think this will work for both /test and /test/ . If not you could try this, which might work



                location ~* /test


                You should read up on how Nginx works, particularly location block matching. I think this article is likely to be useful.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Dec 26 '18 at 1:00









                TimTim

                18.6k41951




                18.6k41951



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Server Fault!


                    • 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%2fserverfault.com%2fquestions%2f946606%2fnginx-location-match-if-not-equal%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 write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

                    What if the end-user didn't have the required library?What is setup.py?What is a clean, pythonic way to have multiple constructors in Python?What does Ruby have that Python doesn't, and vice versa?What is the reason for having '//' in Python?How do I create a namespace package in Python?How to package shared objects that python modules depend on?setuptools vs. distutils: why is distutils still a thing?Navigation in Windows 10 vs code not going to virtualenv library when the same library is installed at user levelPython create package for local usePackaging a project that uses multiple python versionsWhy is permission denied on pip install except for when “--user” is included at end of command?

                    Esgonzo ibérico Índice Descrición Distribución Hábitat Ameazas Notas Véxase tamén "Acerca dos nomes dos anfibios e réptiles galegos""Chalcides bedriagai"Chalcides bedriagai en Carrascal, L. M. Salvador, A. (Eds). Enciclopedia virtual de los vertebrados españoles. Museo Nacional de Ciencias Naturales, Madrid. España.Fotos