2017-10-16 6 views
1

私のURLから.php拡張子を削除したいと思います。問題は、私のフォルダのいくつかが私のページのいくつかと同じ名前を共有していることです。たとえば、私は "materiel"という名前のフォルダと "materiel.php"というページを持っています。私はこのコードを使用して解決策を見つけた:URLを書き換えてもオフラインでもオンラインではない

Options -MultiViews 

RewriteEngine On 

# Manually re-route materiel/ requests to materiel 
RewriteCond %{REQUEST_FILENAME} materiel/$ 
RewriteRule ^(.*)/$ $1 

# Hide extension 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

それはサイトの私のローカルバージョンで正常に動作しますが、オンラインではない(それがエラーページにつながります)。私は既にオプション-MultiViewsとDirectorySlashを私のコードに追加せずに成功しました。私のホストは1 &です1.誰かがすでにこのような問題を経験しているのでしょうか?

お返事ありがとうございます。

+2

サーバでmod_rewriteが有効になっていますか? – Pauloscorps

+0

エラーページには何が表示されますか? – kerbholz

+0

私は、mod_rewriteは、フォルダと同じ名前を共有していないすべてのページで書き換えが機能しているために有効になっていると思います。エラーページは私が作成した404.phpです。 – ekno

答えて

0
Options -MultiViews 

RewriteEngine On 
RewriteBase/

# Manually re-route materiel/ requests to materiel 
RewriteCond %{REQUEST_FILENAME} materiel/$ 
RewriteRule ^(.*)/$ $1 

# Hide extension 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

は、あなたのベースディレクトリにでRewriteBaseを設定してください。あなたが書き換え条件の一つとして

RewriteCond %{REQUEST_FILENAME} !-d 

を追加することができます書き換えられディレクトリを除外するために

+0

私は何をどうしたらよいか教えてくれてありがとう。サーバールートにフォルダを作成してから、RewriteBaseを//作成しなければなりませんでした。今はすべて正常に動作しています! – ekno

関連する問題