<html><head></head><body bgcolor="#FFFFFF"><div><br></div><div>On 2012/08/22, at 15:23, "slevytam" <<a href="mailto:nginx-forum@nginx.us">nginx-forum@nginx.us</a>> wrote:<br><br></div><blockquote type="cite"><div><span>Currently, I use a basic rewrite for my url shortener.</span><br><span></span><br><span>if (!-e $request_filename) {</span><br><span>     rewrite ^/(.*)$ /entry/index.php?id=$1 permanent;</span><br><span>}</span><br></div></blockquote>[...]<div><span class="Apple-style-span" style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); "><blockquote type="cite"><div><span>So I would like following scenario:</span><br><span><a href="http://www.domain.com/1234">http://www.domain.com/1234</a> to rewrite to</span><br><span><a href="http://www.domain.com/entry/index.php?id=1234">http://www.domain.com/entry/index.php?id=1234</a> while showing the user</span><br><span><a href="http://www.domain.com/1234/this-is-the-pretty-part">http://www.domain.com/1234/this-is-the-pretty-part</a> in the address bar</span></div></blockquote></span><div><br></div></div><div><span class="Apple-style-span" style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.292969); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469);"><br></span><span class="Apple-style-span" style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); "><div>Just change your regexp to match everything up to the first slash in the URL and ignore the rest. From memory, this would be something like this:</div><div><br></div></span><span class="Apple-style-span" style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.292969); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); ">rewrite ^/(.*?)/.*$ /entry/index.php?id=$1 permanent;</span><span class="Apple-style-span" style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); "><div><br></div><div>If this regexp syntax is correct (please check it, I'm replying from the subway and can't check the manpages), then this should select everything in the URL up to the first slash, assign it to the $1 positional parameter, and ignore the rest. </div><div><br></div><div>The idea is that if your pretty URL is</div><div><br></div><div><a href="http://www.example.com/1234/whatever-goes-here">http://www.example.com/1234/whatever-goes-here</a></div><div><br></div><div>then the regexp would match the "1234" regardless of what's after it. GoogleBot will be happy and you'll get more visitors. </div><div><br></div><div>Regards,</div><div><br>--<div>Javi Lavandeira</div><div><br></div><div><b>Twitter</b>: @javilm<br><div><b>Blog</b>: <a href="http://www.lavandeira.net/blog">http://www.lavandeira.net/blog</a></div></div></div></span></div></body></html>