0

とに書き換えたい/homeのですが、それ以外はすべてにリダイレクトしたいindex.php/editedit.php/asdfgnew.php

編集と自宅の両方が自分の仕事に取り組んでいますが、(.*)これらのルールよりも が優先されます。 なしで試してみましたRewriteCondが、何も機能しません。

RewriteEngine on
RewriteBase /
RewriteRule ^home$ /index.php
RewriteRule ^edit$ /edit.php
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /new.php [L,R=301]

リダイレクトするすべての未定義のURIが必要です/new.php

また、URI に を保持する必要があるため、/asdfgJavaScript で取得して適切なコンテンツを表示できます。ページを表示して、ユーザーが新しい投稿を作成できるようにするか、既存のコンテンツを表示します。

既存のすべてのコンテンツを定義することはできません。これは、データベースから取得されたものであり、定義済みの予約済みの一部のみが"/folders"定義済みのページにリダイレクトされるためです。

私は次の作業をしています:

RewriteEngine on
RewriteRule ^home$ /index.php [R]
RewriteRule ^edit$ /edit.php [R]

/home をそこに残し、index.php に移動します。

ここで、すべての不明なリクエストをデフォルト ページ new.php にリダイレクトする必要があります。

私は基本的に、ユーザーが 404 またはその他のエラーを受け取るのを防ぎたいと思っています..

4

2 に答える 2

1

last最後の RewriteRule が有効にならないように、最初の RewriteRules にフラグを追加する必要があります。

RewriteRule ^home$ index.php [L]
RewriteRule ^edit$ edit.php [L]
于 2012-05-20T11:28:36.050 に答える
1

[L]「ホーム」ルールと「編集」ルールにフラグを追加して、「新しい」ルールが一致すると処理されないようにしてください。

于 2012-05-20T11:29:04.060 に答える