htaccess:重写网址

时间:2011-08-15 08:54:51

标签: .htaccess url-rewriting

请帮助从

重写网址

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

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

就像这样

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

我认为这将需要php检查页面是否与cat一起使用cat作为cat  或其产品与产品一起使用

2 个答案:

答案 0 :(得分:4)

在.htaccess文件中:

RewriteEngine On

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

类别/产品检查必须在index.php ...

中完成

或者你可以添加额外的slu

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

但是网址看起来像http://site.com/category/catname

答案 1 :(得分:1)

  

http://www.site.com/catnamehttp://www.site.com/productname

该方案的问题在于您无法通过URL判断它是目录名称还是产品名称。结果,你可能想要这样的东西:

  

http://www.site.com/Catalog/catnamehttp://www.site.com/Product/productname

然后可以使用以下规则在.htaccess文件中实现:

RewriteEngine On
RewriteRule ^Catalog/(.+)$ /index.php?cat=$1 [L]
RewriteRule ^Product/(.+)$ /index.php?id=$1 [L]