Beginner Url Rewrite htaccess

后端 未结 3 1439
孤街浪徒
孤街浪徒 2021-01-16 10:21

I would simply like to rewrite all requests from:

http://example.com/products/product.cfm?id=product-name

to

http://example         


        
相关标签:
3条回答
  • 2021-01-16 10:55

    Something along these lines:

    RewriteCond %{query_string} &?id=([^&]+) [NC] 
    RewriteRule ^/products/product.cfm$ /products%1? [R,NC,L]
    
    # Fragile, this assumes that params will always be in order id= then sub=
    RewriteCond %{query_string} &?id=([^&]+)&sub=([^&]+) [NC] 
    RewriteRule ^/category.cfm?$ /%1/%2? [R,NC,L]
    

    The R flag in the RewriteRule forces a hard redirect (the visitor's location bar will change to the new URL). Remove this flag for an internal redirect.

    0 讨论(0)
  • 2021-01-16 10:59

    Using mod_rewrite, you could write:

    RewriteRule ^products/([\w-]+)$ /products.cfm?id=$1&%{QUERY_STRING}
    

    This will do the translation you wanted, while preserving other parameters in the original URL. It won't handle categories, but I'm not sure you can have those both in operation simultaneously as you described.

    0 讨论(0)
  • 2021-01-16 11:03

    http://www.addedbytes.com/for-beginners/url-rewriting-for-beginners/

    I don't like pure "link" answers, but the link above is extremely helpful to me :]

    0 讨论(0)
提交回复
热议问题