2010-12-04 8 views
5

のように見えます。作るPHPのGETパラメータが、私はそうなるようにしようとしていたディレクトリ

+2

グーグル - > .htaccessのmod_rewriteの+チュートリアル。 – sberry

+0

あなたのウェブサーバはウェブサーバの質問ですので、PHPの質問ではありません。 IISを使用している場合は、このリンクの情報を見ることができます(ほかの人がmod_rewrite情報を共有しているので) - http://www.iis.net/download/urlrewrite –

答えて

0

Apacheを使用していると仮定すると、次のチュートリアルはepically役立ちます。

  1. .htaccess part one
  2. .htaccess part two

秒チュートリアルでは、あなたの答えを持っています。 mod_rewriteと呼ばれるダンジョンに掘り下げる準備をします。

3

あなたは、Apache上で実行していると仮定すると、.htaccessファイルでこのコードは、私の作品:

RewriteEngine on 
RewriteRule ^([a-zA-Z0-9_-]+)/$ /index.php?parameter=$1 

をあなたのサイトの構造に応じて、あなたはいくつかのルールしかし広告する必要があります。

0

Apacheを使用している場合は、mod書き換えルールを使用してください。これは、仮想ディレクトリを作成するためのより安全な方法です。

1

Apacheサーバーでmod_rewriteを有効にし、.htaccessルールを使用してリクエストをコントローラファイルにリダイレクトします。

の.htaccess

# Enable rewrites 
RewriteEngine On 
# The following two lines skip over other HTML/PHP files or resources like CSS, Javascript and image files 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# test.php is our controller file 
RewriteRule ^.*$ test.php [L] 

test.phpを、以下のURL http://localhost/abc/123/def/456意志出力へのアクセス

$args = explode('/', $_SERVER['REDIRECT_URL']); // REDIRECT_URL is provided by Apache when a URL has been rewritten 
array_shift($args); 
$data = array(); 
for ($i = 0; $i < count($args); $i++) { 
    $k = $args[$i]; 
    $v = ++$i < count($args) ? $args[$i] : null; 
    $data[$k]= $v; 
} 
print_r($data); 

Array 
(
    [abc] => 123 
    [def] => 456 
) 
関連する問題