我正在更新一个朋友站点,他有一个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和阅读手册等。我只是想,让我们尝试一下堆栈溢出。
预先感谢