1

私は wiki を実行していますが、URL は次のようになります。

/wiki/index.php?title=マイタイトル

しかし、私はそれを次のようにしたいと思います:

/wiki/マイタイトル

これどうやってするの?これは .htaccess と書き換えルールで実行できると思います。このサイトと Google を調べましたが、本当に役立つものは見つかりません。現在、/wiki/ ディレクトリの .htaccess にこれがあります。

RewriteEngine      on
RewriteOptions MaxRedirects=1
RewriteRule        ^(.+)     index\.php\?title=$1     [L]

しかし、それは私を /wiki/index.php?title=Index.php にリダイレクトし、「リダイレクト ループが検出されました!」をスローします。エラー。これがどのように機能するかを本当に理解しているかどうかはわかりません。

4

1 に答える 1

0

複雑なルールを作成する代わりに、すべてのトラフィックを index.php にルーティングし、「サブディレクトリ」をパラメーターとして処理します。このガイドを使用して、そうすることができました。そのサイトから:

Options +FollowSymLinks
IndexIgnore */*
# Turn on the RewriteEngine
RewriteEngine On
#  Rules
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

これを .htaccess ファイルに入れると、すべてのトラフィックが index.php に送られます。次に、サーバー上の他の PHP スクリプトを読み込んで表示する「ルーター」となるように index.php を記述します。

配列を作成することで、PHP からパラメーターにアクセスできます (これもリンク先のサイトから)。

$requestURI = explode(‘/’, $_SERVER[‘REQUEST_URI’]);

次に$requestURI、指定されたパラメーターの配列になるため、次のようになります。

/wiki/MyTitle

次のようになります。

Array ( [0] => [1] => wiki [2] => MyTitle )
于 2012-07-03T02:22:01.910 に答える