【问题标题】:url rewriting using htaccess for category & product in php使用 htaccess 重写 php 中的类别和产品的 url
【发布时间】:2017-02-25 12:40:11
【问题描述】:

请帮助我完成我的项目,因为我是一个初学者,它是关于核心 php 中的电子商务网站的项目

对于我的网站,我想要类别、子类别、产品和产品详细信息页面的 seo 友好 URL....

我有这样的页面:

mysite.com/category.php?category_slug=mobiles         : category page
mysite.com/subcategory.php?subcategory_slug=samsung   :   subcategory page
mysite.com/product.php?product_slug=galaxy-note       :   product page

and i want to rewrite these url like this :

mysite.com/mobiles        :   category
mysite.com/samsung        :   sub category
mysite.com/galaxy-note    :   product page

我的htaccess代码是

重写引擎开启 选项 - 多视图 RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([a-zA-Z0-9-]+)$ category.php?category_slug=$1 [NC,L] RewriteRule ^([a-zA-Z0-9-]+)$ subcategory.php?subcategory_slug=$1 [NC,L] 重写规则 ^([a-zA-Z0-9-]+)$ products.php?product_slug=$1 [L]

任何帮助将不胜感激...

【问题讨论】:

    标签: apache .htaccess url url-rewriting


    【解决方案1】:

    在^前添加页面名称

    RewriteRule ^category/([a-zA-Z0-9-]+)$ category.php?category_slug=$1 [NC,L]
    
    RewriteRule ^subcategory/([a-zA-Z0-9-]+)$ subcategory.php?subcategory_slug=$1 [NC,L]
    
    RewriteRule ^products/([a-zA-Z0-9-]+)$ products.php?product_slug=$1 [L]
    

    并将类别页面的网址写为示例类别/手机/

    更新

    原始网址: mysite.com/category.php?category_slug=mobiles 改写后的网址: mysite.com/mobiles

    RewriteRule ^([^/]*)$ /category.php?category_slug=$1 [L]
    

    原始网址: mysite.com/subcategory.php?category_slug=mobiles&subcategory_slug=samsung 改写后的网址: mysite.com/mobiles/samsung

    RewriteRule ^([^/]*)/([^/]*)$ /subcategory.php?category_slug=$1&subcategory_slug=$2 [L]
    

    原始网址: mysite.com/products.php?category_slug=mobiles&subcategory_slug=samsung&product_slug=galaxy-note 改写后的网址: mysite.com/mobiles/samsung/galaxy-note

    RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /products.php?category_slug=$1&subcategory_slug=$2&product_slug=$3 [L]
    

    【讨论】:

    • 我试过了,效果很好,但我不想这样
    • 我想要:mysite.com/mobiles
    • 告诉我它是如何定义应该使用什么页面的??
    • mysite.com/mobiles : RewriteRule ^([a-zA-Z0-9-]+)$ category.php?category_slug=$1 [NC,L]
    • 但是如果我对子类别页面做同样的事情,那么它就不起作用了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-05
    • 2012-04-29
    • 2012-08-25
    • 2010-11-04
    • 1970-01-01
    相关资源
    最近更新 更多