2016-04-22 26 views
2

mod_rewriteにはかなりのコンテンツがありますが、私は以下のように動作させることができませんでした。htaccessのスラッシュを扱う

RewriteEngine On 
Options -Indexes 
Options -Multiviews 
ErrorDocument 400 http://localhost/mywebsite/400.php 
ErrorDocument 403 http://localhost/mywebsite/403.php 
ErrorDocument 404 http://localhost/mywebsite/404.php 
ErrorDocument 500 http://localhost/mywebsite/500.php 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule (.*) $1.php [L] 

正常に(代わりに名前がMyWebSite/index.phpのの)名前がMyWebSite /インデックス作業のようなものを作ります:

今、私は私のhtaccessファイルに次のコードを持っています。 しかし、後にスラッシュ(mywebsite/index /)を付けてサイトにアクセスし、リライトが機能しなくなるビジターがいる場合もあります。エラーページが表示されます。

どのようにして、スラッシュ、スラッシュ、または拡張子(.php)のいずれかのページが私のウェブサイトで動作するようにしますか?

これは、mod_rewriteの動作に影響を及ぼす場合に、これがapacheサーバー(XAMPP)のlocalhostに追加されることを追加します。

答えて

2

これであなたのコードを置き換えます

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule (.*) $1.php [L] 

RewriteCond %{DOCUMENT_ROOT}/$1.php -f 
RewriteRule ([^/]+)/?$ $1.php [L] 
+0

これは末尾にスラッシュを付けたURLと誤動作しないURLを両方とも作成しました。(これを使用した後に拡張機能付きのURLのみが使用されます) – bucketman

+0

@Bucketmanは更新されたバージョンを試します。 – starkeen

+0

私に404エラーページを教えてください。それがうまくいかないという事実は、元のコードが後のスペース以外はうまく動作して以来、非常に奇妙な設定になっているApacheの設定を見逃してしまったのかどうか疑問に思います。 – bucketman

0

このような書き換えルールは、トリックを行う必要があります。

RewriteRule ^(.*)/?$ $1.php [L] 
+0

私はあなたと私のRewriteRuleを交換しますが、最後のスラッシュはまだ私にエラー500ページを提供します。 – bucketman

+0

ログで500エラーが発生しているとは何ですか?あなたが404を手に入れていないと私は何か他のことが起こっていると思います。 – ceejayoz

+0

[core:error] [pid 10648:tid 1840] [client :: 1:17180] AH00124:設定エラーが原因で、リクエストが10回の内部リダイレクトを超えました。必要に応じてLimitInternalRecursionを使用して制限を増やしてください。バックトレースを取得するには、 'LogLevel debug'を使用します。 – bucketman

1

あなたが使用することができます。

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

(/なし)、ファイルが存在しないか、いない場合は、前にテストすることはできませんので。

+0

'mywebsite/index /'に後ろにスラッシュを入れようとすると、私はまだ500ページのエラーが出ます。関連する場合は、これがローカルホスト上にあることを追加します。 – bucketman

関連する問題