tubc2015 Posted January 1, 2016 Share Posted January 1, 2016 Hi everyone, I'm trying to rewrite a URL (hide file extensions e.g .php, .html) using the rule 2 in my code, but its function has been overwritten by the rule 1. Because when I browse www.mysite.com/login.php it works which was supposed to be www.mysite.com/login, problem of rule 2. On the other hand, when I browse www.mysite.com/login it redirects to www.mysite.com/capture.php instead of www.mysite.com/login.php(actually login) its function is from the rule 1 and not from rule 2. The function of rule 1 is to rewrite a permalink: www.mysite.com/username and the rule 2 is to hide file extensions. <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="rule 1" stopProcessing="true"> <match url="^([^/]*)$" /> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> </conditions> <action type="Rewrite" url="/capture.php?user={R:1}" /> </rule> <rule name="rule 2" stopProcessing="true"> <match url="/login.php$" /> <action type="Rewrite" url="/login" /> </rule> </rules> </rewrite> </system.webServer> </configuration> Link to comment Share on other sites More sharing options...
justsomeguy Posted January 4, 2016 Share Posted January 4, 2016 With rule 1 you are saying that if the URL does not match an existing directory or file, then redirect and stop processing any other rules. So it's never going to pass to rule 2 if the URL does not match an existing resource on the server. Rule 1 should probably be after rule 2. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now