2016-12-26 1 views
-6

私は一度も使ったことがありません.htaccessは今私の人生です。私はそれを学んでいますが、私は非常に難しいと感じています。PHPで変数を取得するためのURLを書き換える方法

誰もがこの

Www.exampleするために、この

Www.example.com?s=abc

からインスタンス

のURL

を書き換えるために私の手順を教えてもらえます.com/abc

答えて

3

.htaccess実際には仕事の半分に過ぎません。

この.htaccessはあなたが前にそれがmydomain.com/myurlを言いながら、この.htaccessしかし、それがためにこれを行うことはありません、背景にindex.php?request=myurlにすべてのあなたの要求をオン(と思う)

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{REQUEST_URI} !^.*\.(jpg|css|js|gif|png)$ [NC] 
RewriteRule ^(.+)$ index.php?request=$1 [QSA,L] 

望むものを達成します1から最後の行に記載されている拡張子。 (さもなければ、あなたはcss、js、画像などをロードしようとするときに問題になるでしょう)。そこから経路を外したいエクステンションを追加してください。

しかし、これはPHPでこれをキャッチする部分があります。 すべてはあなたのindex.phpを経由します。つまり、リクエストを「キャッチ」し、必要なファイルを手動で含めるスクリプトが必要です。

私はここにあなたのための非常に簡単な例を貼り付けます:

<?php 
    $getRequest = explode('/', $_GET['request']); 
    $page = $getRequest[0]; 

    if(file_exists("/mypages/$page.php")) { 
    require_once('myheader.php'); 
    require_once("/mypages/$page.php"); 
    require_once('myfooter.php'); 
    } 
    else{ 
    echo "page not found"; 
    } 
?> 
+0

ではなく、重複としてフラグをマークするために、その優れた新しい回答を追加します。 –

+0

@AbdullaNilamもし私がそれが1つだと分かっていたら、私は持っていたでしょう... – NoobishPro

+1

@Babydeadあなたはあなたがそういう質問に最初に答えた人だと思ったのですか? – EhsanT

関連する問題