3

htaccessについて質問です。私は次のことをしようとしています:

blabla.com/lalablabla.com/lulu

lala と lulu は私の変数です (両方のサイトで異なるコンテンツを表示していますが、同じファイル (example.php) です)。

だから私が htaccess でやったことは次のとおりです。

RewriteRule ^([^&]+)$ example.php?type=$1

しかし、GET[type] をエコーすると、ファイル名 ("example.php") を取得するだけです。でも、「lala」か「lulu」を表示させたい。

私がそのようにするとうまくいきます:

RewriteRule ^blablabla/([^&]+)$ example.php?type=$1

しかし、「blablabla」は必要ありません:D

前もって感謝します :)

4

3 に答える 3

3

しかし、GET [type]をエコーすると、ファイル名( "example.php")が取得されます。しかし、私はそれが「ララ」または「ルル」を表示することを望みます。

これは、リライトエンジンに入るURIがエンジンから出るURIと同じになるまでリライトルールがループするためです。正規表現^([^&]+)$がルールのターゲットと一致しています(example.php)。したがって、URIがまだ存在しないかどうかを確認するための条件が必要であるexample.phpか、要求が存在しないファイルまたはディレクトリを指しているかどうかを確認する必要があります。

RerwiteCond %{REQUEST_URI} !/example\.php
RewriteRule ^(.+)$ example.php?type=$1 [L,QSA]

また

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ example.php?type=$1 [L,QSA]
于 2012-10-30T20:18:31.513 に答える
1

これを試して?

RewriteRule ^([A-Za-z0-9-]+)/?$ example.php?type=$1 [NC,L]
于 2012-10-30T20:16:32.733 に答える
0
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

QSAクエリ文字列の書き換え用

于 2012-10-30T20:16:50.070 に答える