rewrite rule help.
Steve Zhuo
lists at ruby-forum.com
Fri Apr 1 07:01:42 MSD 2011
hi
i'm running nginx with tomcat. I tried to rewrite all the incoming url
with /en appended. ex: www.example.com/main/index.html will get rewrite
to www.example.com/en/main/index.html
Following is my nginx config:
upstream www.example.com {
server localhost:8080;
}
location ^~ / {
index index.html index.htm;
rewrite ^ http://www.example.com/en$request_uri break;
}
location ^~ /en {
index index.html index.htm;
proxy_pass http://www.example.com/;
}
When i just do www.example.com/main/index.html, it rewrites to the new
url and page shows. But when i tried to write an url without .htm or
.html extension, the browser complains about page not found and return
404. such as "www.example.com/main/new" I got the 404 error on my
Tomcat log. Before this rewrite rule, the page can be loaded without
any problem.
here is my tomcat config:
<servlet-mapping>
<servlet-name>dir</servlet-name>
<url-pattern>*.htm</url-pattern>
<url-pattern>/en/*</url-pattern>
</servlet-mapping>
<error-page>
<error-code>404</error-code>
<location>/errors/503.htm</location>
</error-page>
any help is apprecaite.
Thank You
Steve Zhuo
--
Posted via http://www.ruby-forum.com/.
More information about the nginx
mailing list