私はPHPとApacheの初心者です。次の URI を持つことができる自分の Web サイトに URL 書き換えを使用しようとしています。
1. http://localhost:8080/home
2. http://localhost:8080/dell
最初の URI には、利用可能なhome.phpファイルがあり、次の書き換えルールで .htaccess ファイルを編集しました。
RewriteRule ^([^\.]+)$ $1.php [NC]
2 番目の URI は動的です。これは、要求を処理できるdell.phpが利用できないことを意味します。そこで、RewriteCond のように書きました。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ list.php?page=$1
全体として、私の .htaccess ファイルは
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([^\.]+)$ $1.php [NC] [N]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ list.php?page=$1
したがって、localhost:8080/homeをリクエストすると、 home.php は適切に応答されますが、localhost:8080/dellをリクエストすると、エラーが応答されます
「要求された URL /dell.php は、このサーバーで見つかりませんでした。」
最初の RewriteRule のみが優先され、2 番目の RewriteRule は Apache サーバーによって読み取られないと思います。順序の変更も機能しません。ここでの私の質問は、PHP ファイルが存在する場合と存在しない場合の両方で機能する RewriteRule を使用する必要があることです。
ご意見、ご指導をよろしくお願いいたします。
リテッシュ