UrlRewrite有3个获取请求

时间:2011-11-21 16:25:06

标签: .htaccess url-rewriting

我正在研究一个项目并坚持使用urlrewrite。我尽力找不到答案,希望能在这里得到解决方案。

  1. 我通过单个“category.php”页面创建动态类别。我想创建3种类型的这类,

    • mysite.com/maincategory.html(这是主要类别,其中有22个)

    • mysite.com/maincategory/firstsubcategory.html(apprx.700-800子类别)

    • mysite.com/maincategory/firstsubcategory/secondcategory.html(apprx.700-800子类别)

  2. 我创建了一个“category.php”页面,该页面接收$_GET['main']$_GET['firstsub']$_GET['second sub']并在.htaccess中使用了以下代码,

    Options +FollowSymLinks
    RewriteEngine On
    RewriteRule (.*).html category.php?main=$1
    
  3. 我尝试mysite.com/categoryname.html但没有奏效。我已经成功地将上面的代码用于我的其他项目并且运行良好。但这是我第一次使用3 $_GET['main']我不知道它是如何工作的。

  4. 请帮我解决我的问题。

2 个答案:

答案 0 :(得分:0)

对于...让我检查......是的,第10次:

请尝试使用RewriteLog指令:它可以帮助您找出此类问题:

# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On

现在解决方案:

Options +FollowSymLinks
RewriteEngine On
RewriteRule download-game/(.*)\.html$ category.php?main=$1 [QSA,L]
RewriteRule ([^/]*)/([^/]*)/([^/]*)\.html category.php?main=$1&firstsub=$2&secondsub=$3 [QSA,L]
RewriteRule ([^/]*)/([^/]*)\.html category.php?main=$1&firstsub=$2 [QSA,L]
RewriteRule ([^/]*)\.html category.php?main=$1 [QSA,L]

请告诉我它是否有效。

答案 1 :(得分:0)

如果我理解正确,你想要捕获A的类别,B的类别和第一个子类别,以及C的类别,第一个子类别和第二个子类别。 下面的解决方案可行。

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^([^/]*)/?([^/]*)/?([^/]*)\.html$ category.php?main=$1&firstsub=$2&secondsub=$3 [L]

编辑: 上面的简化代码。