2016-11-28 28 views
1

URIからファイル名を置き換えたいと思います。私はウェブページでこの置き換えられたURLが必要です。 例: ページのURL:

https://www.domain.com/...../india-hotels/dun-hotels/abc.php 

私のコード

echo $uri=$_SERVER['REQUEST_URI']; 

それは

...../india-hotels/dun-hotels/abc.php 

を返します。しかし、私は "abc.php" が必要いけません。私はこのように必要です

...../india-hotels/dun-hotels/ 

私は私のウェブページ上で使用するので、これはphpを使って行う必要があります。 これを解決するように私に提案してください。

+3

あなたの最後の3つのURL

また、さらに好ましくは
<?php // ASSUMING THAT $_SERVER['REQUEST_URI']; RETURNS THE STRING BELOW: $uri = /*$_SERVER['REQUEST_URI'];*/ "...../india-hotels/dun-hotels/abc.php"; $parts = explode("/", $uri); array_pop($parts); $uri = implode("/" , $parts) . "/"; echo $uri; //<== YIELDS::: ...../india-hotels/dun-hotels/ 

、あなたは同じ目標を達成するためにstr_replace()と組み合わせてbasename()機能を使用することができます同じです – matiaslauriti

+0

これは.htaccessによっても行うことができます。 –

答えて

0

有効モジュールをApacheに書き換えます。

書き込みこれはあなたのの.htaccessファイル

RewriteCond %{THE_REQUEST} /index\.php [NC] 

RewriteRule ^(.*?)index\.php$ /$1 [L,R=301,NC,NE] 
0

に私はによって示されるように、あなたが望む結果を得るためにexplode & implode定期的に、あなたは簡単な使用することができ、この

$uri_ar=array(); 
$uri=($_SERVER['REQUEST_URI']); 

if(strpos($uri,'.php')){  
    $uri_ar=explode('/',$uri); 

    array_pop($uri_ar); 
    $uri=implode('/',$uri_ar); 

} 
1

ようにそれを解決しました以下のスニペット。 Quick-Test Here。凝縮形で

<?php 

     // ASSUMING THAT $_SERVER['REQUEST_URI']; RETURNS THE STRING BELOW: 
     $uri  = /*$_SERVER['REQUEST_URI'];*/ "...../india-hotels/dun-hotels/abc.php"; 
     $baseName = basename($uri); 
     $uri  = str_replace($baseName, "", $uri); 
     echo $uri; //<== YIELDS::: ...../india-hotels/dun-hotels/ 

<?php 

     $uri  = /*$_SERVER['REQUEST_URI'];*/ "...../india-hotels/dun-hotels/abc.php";; 
     $uri  = str_replace(basename($uri), "", $uri); 
     echo $uri; //<== YIELDS::: ...../india-hotels/dun-hotels/ 
関連する問題