htaccess集成新参数

时间:2018-11-16 11:10:37

标签: php .htaccess url-parameters

我正在更新一个朋友站点,他有一个htaccess文件,如下所示:

<IfModule mod_rewrite.c>
Options +FollowSymlinks

RewriteEngine on

RewriteBase /WWI

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?path=$1 [QSA,L,NC]
</IfModule>

如果我错了,请更正我,因为我仍在学习htaccess(这也是我在这里的原因)。但是,此代码与该php代码结合在一起,可以确定需要加载的页面内容:

if(isset($_GET['path']) ){
    $cPagina = $_GET['path'] . '.php';
} else {
    $cPagina = 'indexContent.php';
}

include("partials/$cPagina");

因此,URL的外观如下:

  

www.development.dev/WWI/products/products_product

仅代表:

  

www.development.dev/WWI/products/products_product.php

可通过以下方式访问:

  

这种构造,也许已经过时了。但是效果很好。

所以现在是这种情况:

  

index.php?path = / WWI / producten / product_individueel&productid = 3

他想把这个蒙蔽到:

  

www.development.dev/WWI/products/product/3

他还希望尽可能保持当前结构,所以我已经尝试过:

RewriteRule ^(.*)$ index.php?path=$1&product=$2 [QSA,L,NC]

因此,如果我对$ _GET进行包装,它将返回以下内容:

array (size=2)
  'path'    => string 'products/products_product' (length=29)
  'product' => string '' (length=0)

例如,如何在URL中的“ products / product / 3”中加上“ 3”

但是,这让我意识到我对htaccess的了解还很少,这引起了我的兴趣。因此,我搜索并阅读了有关其工作原理的教程。但是,我从未遇到过与第二个参数结合保存路径的问题。

我希望我提供的信息足够,而且我也希望这似乎不是我没有尝试,但是经过2天的htaccess摆弄arround和阅读手册等。我只是想,让我们尝试一下堆栈溢出。

预先感谢

0 个答案:

没有答案