2017-12-11 27 views
1

私はWAMPのローカルプロジェクターで作業しています。だからここ.htaccess URLフォルダーの書き換え/削除/ ".php"の削除

が私のフォルダの階層です:

- Project : 
    - index.php 
    - .htaccess 
    - pages : 
     - animaux : 
       - mammiferes.php 
       - oiseaux.php 
       - reptiles.php 
     - infos : 
       - access.php 
       - contact.php 
       - plan.php 
     - spectacle : 
       - reserverPlace.php 
       - spectacle.php 

私は何をしようとすると、例えば、このURLを持っている商品のURL指揮とルールを入れている:http://localhost/ProjetSyntheseFAC/mammiferesの代わりhttp://localhost/ProjetSyntheseFAC/pages/animaux/mammiferes.php。だから私はURLからフォルダを削除し、最後に ".php"を削除する必要があります。

私が見つけて試してみると、内部サーファーエラーで動作しないか、試してみてください。ここで

は私が最後にしようとしたものです:

RewriteEngine On 
RewriteRule ^mammiferes$ /pages/animaux/mammiferes.php 

////

RewriteEngine On 
RewriteCond %{ENV:REDIRECT_STATUS} . [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [L] 
RewriteCond %{REQUEST_URI} /(.+) 
RewriteRule !\.[a-z0-4]{2,4}$ /pages/animaux/%1.php [NC,L] 
RewriteRule (.*) /pages/animaux/$1 [L] 

誰かが私を助けることができますか?

+1

[可能な回答!](https://stackoverflow.com/questions/11243975/rewriting-url-with-htaccess-local-in-xampp)最初の3行のコードを使用して、独自の 'RewriteRule'を追加してくださいあなたはすでに上で行ってきました。それがうまくいくかどうか試してみてください。そうでなければ、 'error_log'が内部サーバエラーの意味であるかどうかを確認してください。 – RepeaterCreeper

+0

@RepeaterCreeper URLは同じで、htaccessが存在しない場合はエラーが発生しません – Karim

答えて

0
RewriteRule ^mammiferes$ /pages/animaux/mammiferes.php 

あなた.htaccessファイルは/project/サブディレクトリに配置し、親ディレクトリはドキュメントルートでされている場合は、RewriteRule置換からスラッシュの接頭辞を削除する必要があります。たとえば:スラッシュの接頭辞付き

RewriteRule ^mammiferes$ pages/animaux/mammiferes.php [L] 

置換は、ドキュメントルートからの相対です。スラッシュプレフィックスがなければ、ファイルは.htaccessのどこにも相対的です。これは、これを上書きするRewriteBaseディレクティブがないことを前提としています(またはサブディレクトリ/Project/RewriteBaseを設定してください)。

ディレクティブを後で追加する場合は、Lフラグを含める必要があります。