htaccess : rewrite urls

2020-02-06 04:52发布

please help to rewrite Urls from

http://www.site.com/index.php?cat=catname

and

http://www.site.com/index.php?id=productname

to be like this

http://www.site.com/catname and http://www.site.com/productname

i think it will require php check if the page is cat work with it as cat or its product work with it as product

2条回答
啃猪蹄的小仙女
2楼-- · 2020-02-06 05:18

in .htaccess file:

RewriteEngine On

RewriteRule ^([0-9a-z\-\_]+)?$ /index.php?id=$1 [L,QSA,NC]

category/product check must be done in index.php...

Or you can add extra slug

RewriteRule ^(category)/([0-9a-z\-\_]+)?$ /index.php?category=$1 [L,QSA,NC]
RewriteRule ^(product)/([0-9a-z\-\_]+)?$ /index.php?product=$1 [L,QSA,NC]

but url will look like http://site.com/category/catname

查看更多
你好瞎i
3楼-- · 2020-02-06 05:39

http://www.site.com/catname and http://www.site.com/productname

The problem with that scheme is that you can't tell whether it's a catalog name or a product name by the URL. As a result, you'll probably want something like this:

http://www.site.com/Catalog/catname and http://www.site.com/Product/productname

Which can then be implemented in a .htaccess file with the following rules:

RewriteEngine On
RewriteRule ^Catalog/(.+)$ /index.php?cat=$1 [L]
RewriteRule ^Product/(.+)$ /index.php?id=$1 [L]
查看更多
登录 后发表回答