URLの最後に.phpが追加されるたびにURLを書き直すようにしていますが、コメントアウトした部分を含めるとエラーが発生します。Apache mod-rewrite - hidding PHP
自分自身で動作するように.phpエラーが発生する可能性がありますが、それ以外のすべてのルールではエラーが発生しません。現在のフォームでは、すべてのページエラーが発生します。
他のすべての部分が動作しています。
サイトがセットアップされているのでどんなエラーが1ページに移動 - error.php
Options -Indexes
RewriteEngine On
ErrorDocument 404 /error.php
ErrorDocument 301 /error.php
ErrorDocument 400 /error.php
ErrorDocument 401 /error.php
ErrorDocument 403 /error.php
ErrorDocument 404 /error.php
ErrorDocument 500 /error.php
###### Send any requests for to error ######
RewriteRule ^index(\.[A-Za-z0-9-]+)/?$ error.php [R=404,NC,L]
###### changing Validate URL ########
RewriteRule ^validate/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/*?$ validate.php?$1=$2&$3=$4 [NC,L]
###### Show 404 error page when any request ends with '.php'
RewriteRule ^(.*)\.php(.?.*)$ error.php [R=404,NC,L]
# I also want to allow for anything that contains a get request here. but wanted to get the .php bit working first.
###### To remove the trailing slash ######
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
は、定義されたエラーページが見つかったようです。前の例と同じエラーが発生しています。私の 'ErrorDocument 404/error.php'が間違った順序で誤って指定されているのでしょうか? – denski
私はあなたの2番目の提案を含めるとき、私は少し異なる '内部サーバーのエラー'を取得します。 '内部サーバーエラー サーバーで内部エラーまたは構成ミスが発生し、要求を完了できませんでした。 webmaster @ localhostのサーバー管理者に連絡して、このエラーが発生した時刻とこのエラーの直前に実行した操作を通知してください。 このエラーの詳細は、サーバーのエラーログで確認できます。 さらに、ErrorDocumentを使用してリクエストを処理しようとしたときに、500 Internal Server Errorエラーが発生しました。 ' – denski
ありがとうございます。ここで95%です。これは、.phpで終わるものすべてを今すぐエラーにリダイレクトします。唯一の問題は、タイプされたURLを保持することが理想的です。 'ex.com/error /'を表示するのではなく、 'ex.com/test.php'それは可能ですか? – denski