2012-02-14 9 views
2

URLのディレクトリをPHP変数として使用する方法の後です。 Wordpressに似て(すべてのブログプラットフォームではないにしても)、domain.com/directoryをPHPファイルに渡す方法が欲しい。URLのディレクトリをphp変数として使用する

私が自分のブログのものを作成すると、そのURLはSEOに優しいものになります。

代わり

domain.com/?blog=1&foo=1&bar=1&foobar=5 

の例えば、私はその後、変数を取得するには、爆発の機能を使用することができます

domain.com/1/1/1/5 or something 

をしたいです。

答えて

1

phpでのその機能については、あなたのウェブサーバーの中でmod_rewriteまたはそれに相当するものが必要で、代わりにURLパスをget paramに書き換える必要があります。

Googleの「clean urls drupal」は、野生のそれの例です。

3
RewriteEngine On 
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)$ /?blog=$1&foo=$2&bar=$3&foobar=$4 [L] 

Googleにはたくさんのジェネレータがあり、それを検索して書き換えルールについて調べると、多くの情報が得られます。

1
RewriteEngine On 
RewriteRule ^(.*)$ /index.php?url=$1 [L] 

その後、あなたのindex.phpにあなたが爆発行うことができ、通常のexpresionsまたはwhatewerあなたが$_GET['url']

にしたいか、alredy CSSやJavaScriptのような存在のファイルや画像ファイル

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^(.*)$ /index.php?url=$1 [NC,L] 
をスキップすることができます
1
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^(.*)/(.*)/(.*)/(.*)$ ?blog=$1&foo=$2&bar=$3&foobar=$4 [PT,L] 

私はこれが具体的にあなたのケースではうまくいくと思います。 (。*)は、/で区切られた任意のタイプの1つ以上の文字をグループ化します。

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^(.*)$ blog.php?string=$1 [PT,L] 

を文字列 希望を処理するために、同じディレクトリにblog.phpファイルがありますと仮定:爆発のための文字列として

そうでない場合は、キー例えばfooでなるにつれてこの場合、あなたはそれらを取得します助けてください

関連する問題