我一直在这里寻找答案,但似乎对其他人有效的解决方案并没有为我解决。
我想重写我的网址,以便它们看起来更好。
一个例子:
原始网址:
mywebsite.com/new/page.php?cat=web&view=thumbs
所需网址:
mywebsite.com/new/web/thumbs
(目前我正在我的网站的一个子目录中开发这个网站,我称之为'新'..我提到这个,因为这可能是事情不起作用的原因,我不知道)
到目前为止我尝试了什么:
的index.php:
<body>
<div id="wrapper">
<a href="<?php echo "page.php?cat=web&view=thumbs";?>"><div id="web-btn" class="button"></div></a>
<a href="<?php echo "page.php?cat=illu&view=thumbs";?>"><div id="illu-btn" class="button"></div></a>
<a href="<?php echo "page.php?cat=info";?>"><div id="info-btn" class="button"></div></a>
<a href="<?php echo "page.php?cat=anim&view=thumbs";?>"><div id="anim-btn" class="button"></div></a>
<a href="<?php echo "page.php?cat=brand&view=thumbs";?>"><div id="brand-btn" class="button"></div></a>
</div>
</body>
href中有两个变量:'cat'和'view'。所以在htaccess(位于root)中我需要获取这两个变量。我试过这样的话:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^new/([^/]*)/([^/]*)$ /new/page.php?cat=$1&view=$2 [L]
我没有收到任何错误,但网址没有被重写,它们仍然如下所示: mywebsite.com/new/page.php?cat=web&view=thumbs
同样的问题但略有不同:
您可以点击以进入“单个”页面的缩略图页面设置如下:
<div id="thumbs" class="medium-10 columns thumbs">
<?php
$x = 1;
while ($x <= 20){
$item = ${'item'.$x.$cat};
$txt = ${'txt'.$x.$cat};
if(isset($item)) { echo '
<div class="small-6 medium-4 columns" id="'.$item.'">
<a href="page-content.php?cat='.$cat.'&view=singles&item='.$item.'&txt='.$txt.'"><img src="'.$cat.'/thumbs/'.$item.'.jpg" /></a>
</div>
'; }
$x++;
}
?>
</div>
这里的hrefs有4个变量:'cat','view','item'和'txt'。
现在,网址如下所示:
mywebsite.com/new/page-content.php?cat=web&view=singles&item=webproject1&txt=blaaaa
我想要像这样重写网址:
mywebsite.com/new/web/webproject1
我在htaccess中尝试了以下RewriteRule:
RewriteRule ^new/([^/]*)/([^/]*)$ /new/page-content.php?cat=$1&view=singles&item=$2&txt=blaaaa [L]
网址没有任何影响,但我没有错误。
更新的htaccess将是:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^new/([^/]*)/([^/]*)$ /new/page.php?cat=$1&view=$2 [L]
RewriteRule ^new/([^/]*)/([^/]*)$ /new/page-content.php?cat=$1&view=singles&item=$2&txt=blaaaa [L]
我可以想象出现问题,因为两个RewriteRules都开始完全相同(在两种情况下我都需要2个变量除以/),但另一方面......当我只使用第一个时它也不起作用规则。
我对htaccess的了解太少,而且我遇到了故障排除,所以我真的希望有人能给我一些见解。提前谢谢!