我正在研究一个项目并坚持使用urlrewrite。我尽力找不到答案,希望能在这里得到解决方案。
我通过单个“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子类别)
我创建了一个“category.php”页面,该页面接收$_GET['main']
,$_GET['firstsub']
和$_GET['second sub']
并在.htaccess
中使用了以下代码,
Options +FollowSymLinks
RewriteEngine On
RewriteRule (.*).html category.php?main=$1
我尝试mysite.com/categoryname.html
但没有奏效。我已经成功地将上面的代码用于我的其他项目并且运行良好。但这是我第一次使用3 $_GET['main']
我不知道它是如何工作的。
请帮我解决我的问题。
答案 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]
编辑: 上面的简化代码。