2

example.com または example.com/12 (後で ?page=$1 を追加) のような、空白の URI または数値スラッグ (ページ) にインデックス ファイルを表示する htaccess ファイルを作成しようとしています。

ただし、数値以外のスラッグにアクセスする場合は、別のページに移動する必要があります。何らかの理由で、インデックス ファイルにヒットすることはありません (空白または数値の場合でも)。私は何が欠けていますか?

ここに私が持っているものがあります:

Options All
RewriteEngine On

RewriteRule ^([0-9]*)/?$ index.php?page=$1 [L]
RewriteRule ^([^/]+)/?$ another_page.php?slug=$1 [L]

空白の URI または数値 URI は、Last フラグを使用して最初のルールにヒットし、index.php をロードするべきではありませんか? 私が行うすべてのリクエストは、another_page.php にヒットしています

ありがとう!

4

1 に答える 1

1

ああ、この質問を投稿してすぐにわかりました。

final の上に RewriteCond 行が必要でしたが、元のファイルも存在する必要がありました。index.php ファイルを作成する前に、この htaccess ファイルをセットアップしました (404 を探していました)。

これがうまくいきました:

Options All
RewriteEngine On

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

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ another_page.php?slug=$1 [L]

みんなありがとう!

于 2012-12-06T03:11:29.403 に答える