私のリダイレクトプロセスは、いくつかのクレイジーなものを示しています。ループ全体の最初の部分は問題なく機能します(最初の要素のみが入力されている場合)。
可能なURLは次のようになります。
www.site.com/category
www.site.com/category/product
だけでなく:
www.site.com/cart
site.com/jeansの使用は問題なく機能します。しかし、製品をクリックすると、何か奇妙なことが起こります。
categorie.phpファイル(カテゴリの表示に使用)はまだ含まれており、その後にproduct.phpファイルが含まれています。
カートページ(http://www.site.com/winkelwagen/)と同じ話。
だから私のインクルードはある時点で間違っています。Winkelwagenは、インデックスファイルがある私のサイトのフォルダです。categorie.phpではなく、 http://www.site.com/winkelwagen/index.phpを含める必要があります。
ルートコード:
<?php
$mult = Array();
if( ! empty( $_SERVER[ 'REQUEST_URI' ] ) ) {
$mult = explode ( '/', substr ( $_SERVER[ 'REQUEST_URI' ], 1 ) );
} else if( ! empty( $_SERVER[ 'ORIG_PATH_INFO' ] ) ) {
$mult = explode ( '/', substr ( $_SERVER[ 'ORIG_PATH_INFO' ], 1 ) );
} else if( ! empty( $_SERVER[ 'PATH_INFO' ] ) ) {
$mult = explode ( '/', substr ( $_SERVER[ 'PATH_INFO' ], 1 ) );
}
if(empty($mult[0]))
{
include("comingsoon/index.html");
}
if(!empty($mult[0]) && empty($mult[1]))
{
$file = "$mult[0].php";
if($mult[0] == "index2")
{
include("index2.php");
die;
}
// if file exists include file
if(file_exists($file))
{
include($file);
}
else
{
$file2 = "/$mult[0]/index.php";
// if folder index file exists include that file
if(file_exists($file2))
{
include($file2);
}
else {
// if folder index file doesn't exist, send to category page
$_GET['q'] = $mult[0];
include("categorie.php");
}
}
}
if(!empty($mult[0]) && !empty($mult[1]))
{
if($mult[0] == "add")
{
$_GET['addid'] = $mult[1];
include("addtocart.php");
}
elseif($mult[0] == "remove")
{
$_GET['removeid'] = $mult[1];
include("deletefromcart.php");
}
// check if folder exists (first part of the url)
elseif(is_dir($mult[0]))
{
// check if file .php (second part of the url) exists
$filenew = "$mult[0]/$mult[1].php";
if(file_exists($filenew))
{
// include that file
include("$mult[0]/$mult[1].php");
}
else
{
// second file does not exist, do something
}
}
else
{
// folder does not exist so redirect to product page
$_GET['c'] = $mult[0];
$_GET['p'] = $mult[1];
include("product.php");
}
}
?>
categorie.phpファイルを削除しようとしましたが、それでも表示されます(たとえば、一体どうやって?!)
私は答えに興奮しています-私は自分が何を間違っているのか全くわかりません。
また、知っておくと便利です。ルートコードのinclude(categorie.php)部分をコメントアウトすると、ファイルはまだ含まれています...