0

ユーザーがサイトを作成および構築できるアプリがあります。それをsystem.comとしましょう。ユーザーがネームサーバーに転送したドメイン ( domain.comなど)でサイトを作成すると、フォルダーが作成され、cPanel API を介してそのドメインがsystem.com/[user id]/[のようなフォルダーに追加されます。サイト ID]/ . そのフォルダーには、次のような index.php ファイルと .htaccess ファイルがあります。

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)/$ index.php?page=$1 [L]

そこからどのように機能するかについてはあまり詳しく説明しませんが、基本的にユーザーはdomain.com/something/something-else/のようなページを作成できます。「何か」フォルダは明らかに実際には存在せず、システムは htaccess からそれらを取得してそこから移動します。

私の問題は、domain.com /something/something-else/ は機能しますが、domain.com /something/something-elseは 404 を返すことです。調査を行って多くのことを試してみましたが、機能しないようです。何か案は?前もって感謝します。

編集

これまでに試したことについて言及する必要がありました。次のように、末尾のスラッシュに関係なく機能するように rewriterule を変更しようとしました。

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

そして、それの他のバリエーション。

末尾のスラッシュを強制するさまざまな方法も試しましたが、いずれも機能しませんでした。

4

2 に答える 2

2

ルールを次のようにしたいと思います。

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

「オプションでスラッシュが続く任意の数の任意の文字は、index.php?page=$1 に変更する必要があります。ここで、$1 はスラッシュの前に見つかった文字です。これが一致する場合、他のルールも無視してください。」

于 2012-11-18T21:56:00.853 に答える
0

URL書き換えアクセスルールに基づいています..

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

ご覧のとおり、 index.php?page=$1は/にエイリアスされ、すべてのリクエストは index.php に送信されます

于 2012-05-03T06:45:46.147 に答える