2011-11-21 110 views
0

我正在一个项目上,并坚持在urlrewrite。我尽我所能并没有找到答案,希望能在这里得到解决方案。UrlRewrite与3获取请求

  1. 我正在通过一个“category.php”页面创建动态类别。我要创建3种类别这样的,

    • mysite.com/maincategory.html(这是主要类别有他们的22)

    • mysite.com/maincategory/firstsubcategory.html(apprx。700-800小类)

    • mysite.com/maincategory/firstsubcategory/secondcategory.html (大约700-800小类)

  2. 我创建了一个“category.php”页面,其中r eceives $_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']工作,我不确定它是如何工作的。

请帮我解决我的问题。

回答

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] 

请告诉我,如果它的工作。

+0

你好奥利弗庞斯,首先非常感谢你的回复。其次,我在使用RewriteRule“(。*)。html category.php?main = $ 1”发布im时犯了一个错误,并且我发布了RewriteRule“download-game /(.*)。html category.php?main = $ 1”。正如我已经告诉过你的,我正在努力尝试,所以我在挫折中犯了一个错误。对不起。另外好消息是,不知何故,我的urlrewrite为主要类别刚工作。所以请评估我为其他两个做。谢谢 – prototype

+0

我在我的代码中做了更正,“RewriteRule(。*)。html category.php?main = $ 1”正常工作的mysitename/categoryname.html – prototype

+0

好吧,我已经更新了,我很确定这会工作 –

0

如果我理解正确,您想要捕获A的类别,B的类别和第一个子类别以及C的类别,第一子类别和第二子类别。012ff下面的解决方案将起作用。

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

编辑: 上面的简码。

+0

是的,Ulrich Palha,这就是我想要做的。感谢你的回答。你的urlrewrite代码对我来说很难理解。我希望它完美地工作。我会尽力让你知道。谢谢。 – prototype

+0

我修改它使其稍微简单一些。让我知道它是否有效 –

+0

嗨Ulrich Palha,第一类与您的代码完美配合,但不是第二类和第三类。我测试了我的代码,它的工作方式类似于“sitename/category.php?main = categoryname&firstsub = subcategory”,但是当我使用sitename/categoryname/subcategory.html时,它给出404未找到错误 – prototype