multitwitch样式url重写

时间:2015-05-05 20:15:07

标签: php .htaccess url-rewriting

我试图重新创建multitwitch.tv使用的url重写,但是这样做有问题,因为谷歌是无益的想法我想删除尾随斜杠。

我试图有效地做到这一点:

site.com/aaa/bbb/ccc/ddd/eee

site.com?aaa&bbb&ccc&ddd&eee

虽然多开关的源代码在Github上是公共的,但它不是带有.htaccess文件的PHP,所以我现在还没能解决这个问题。

任何帮助都将被大大接受。

用户输入的网址:site.com/aaa/bbb/ccc/ddd/eee 重写为:site.com?aaa& bbb& ccc& ddd&amp ;eee

htaccess的:

Options +FollowSymLinks RewriteEngine On RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?channels=$1 [NC,L]

PHP:

<?php foreach($_GET as $key => $value){ echo $key; } ?>

1 个答案:

答案 0 :(得分:1)

问题是你想要一堆深层次。在php中处理它可能更容易,而不是为URI中添加的每个子目录创建规则。 所以我可能会做这样的事情。这会将每个请求发送给PHP。

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteRule index\.php - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [NC,L]

然后您可以输入http://example.com/aaa/bbb/ccc/ddd

index.php中的PHP中,您可以执行

<?php

   $aURI = explode("/",$_SERVER["REQUEST_URI"]);
   print_r($aURI);exit;
?>

然后根据需要使用这些部件。你甚至可以计算新数组中的数量,并根据你可以做的事情。这样,您就不必为要添加到URL的每个级别都有.htaccess规则。