【问题标题】:Rewrite Rule Help ! First Time?重写规则帮助!第一次?
【发布时间】:2015-11-04 15:38:13
【问题描述】:

我需要一些帮助,这是我第一次对链接使用重写规则。

我的网站是一个 eshop。

网址将是这样的:

www.mydomain.com/shop.php

这个文件,shop.php 将通过 url 接收最多 3 个参数。

例子:

案例 1:www.mydomain.com/shop.php?page=1

案例 2:www.mydomain.com/shop.php?page=1&category=1

案例 3:www.mydomain.com/shop.php?page=1&category=1&subcategory=3

我需要的是重写规则返回如下内容:

案例一:www.mydomain.com/shop.html/1

案例 2:www.mydomain.com/shop.html/1/FeaturesItems/

案例 3:www.mydomain.com/shop.html/1/FeaturesItems/BrandName

假设 FeaturesItems 是他的 Id 为数字 1 的类别。

让我们假设 BrandName 是他的 Id 是数字 3 的 SubCategory。

你能帮我创建重写规则吗?

另一个问题是,在 shop.php 中我可以读取带有 ID 的 $_GET['category'] 吗?

【问题讨论】:

    标签: php apache .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    我认为您想完成对/shop/15 的调用并将此内部重定向到shop.php?category=15。然后做这样的事情:

    RewriteRule ^shop.html/(\d+)$ shop.php?category=$1 [L]
    RewriteRule ^shop.html/(\d+)/FeaturedItems/ shop.php?category=$1&featured=1 [L]
    

    等等。

    (未经测试)

    也许可以更深入地了解 mod_rewrite 的工作原理。例如:

    http://code.tutsplus.com/tutorials/an-in-depth-guide-to-mod_rewrite-for-apache--net-6708 https://www.digitalocean.com/community/tutorials/how-to-set-up-mod_rewrite http://www.workingwith.me.uk/articles/scripting/mod_rewrite

    我还可以推荐优秀的mod_rewrite-Cheat-Sheet。另请查看那里的教程部分。

    【讨论】:

    • 您好帕特里克感谢您的回答。我尝试执行第一个 RewriteRule,它似乎可以工作,但是页面加载时没有 css 你知道为什么会这样吗?
    • RewriteRule 将捕获服务器必须处理的每个请求。此外,浏览器将根据它看到的 URL 请求 css 文件。例如,如果您有类似/shop/feature/ 作为当前位置并且对 CSS 文件的引用是 css/style.css,则浏览器将尝试查找 /shop/feature/css/style.css。检查开发者控制台的网络选项卡,查看浏览器请求的 URL。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    相关资源
    最近更新 更多