2017-01-18 14 views
-1

イムは、私はきれいにURLを作ることができる方法を理解しようとしているんだけど、何かが間違っています。ここで.htaccessファイルの書き換えルールは、.htaccessファイルできれいにURLをやろうとし

は私のフォルダです:

このコードをしようと

Folder

RewriteEngine On 
RewriteRule ^admin admin.php [NC,L] 
RewriteRule ^new new.php [NC,L] 
RewriteRule ^page page.php [NC,L] 
ErrorDocument 404 http://localhost/modul-1-froland/zaro/media/php/404.php 
RewriteRule ^([a-zA-Z0-9]+)$ edit.php?id=$1 

(清掃なし)私のURLは次のとおりです。 はlocalhost/MODUL-1-froland/zaro /メディア/php/admin.php

私はこれをやりたい:localhost/modul-1-froland/zaro/admin

誰もが私を助けたり、私が間違っているものを私に伝えることができますか?

答えて

0

ループの書き換えを防ぐ必要があります。たとえば、admin.phpになります。^adminと一致します。代わりに^admin$を使用するか、より良いRewriteCond追加:

RewriteEngine On 

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

RewriteRule ^/?([a-zA-Z0-9]+)$ edit.php?id=$1 [L] 

ErrorDocument 404 /modul-1-froland/zaro/media/php/404.php 

代わりに明示的に単一のURIを書き換えるためにあなたのアプローチを維持することができます。しかし、あなたは少しパターンを変更することにより、無限書き換えループを防ぐために必要があります。また

RewriteEngine On 

RewriteRule ^/?admin$ admin.php [L] 
RewriteRule ^/?new$ new.php [L] 
RewriteRule ^/?page$ page.php [L] 

RewriteRule ^/?([a-zA-Z0-9]+)$ edit.php?id=$1 [L] 

ErrorDocument 404 /modul-1-froland/zaro/media/php/404.php 

は、あなたがあなたの.htaccessスタイルファイルが置かれているを確認する必要があります。上記のルールを使用して、プロジェクトフォルダ/modul-1-froland/zaro/media/phpの中に配置する必要があります。また.htaccessスタイルファイルの解釈は、AllowOverrideコマンドを使用して、httpサーバの設定で有効にする必要があり、それはhttpサーバ・プロセスによって読み取り可能である必要があります。


と一般的なヒント:あなたは、常に代わり.htaccessスタイルファイルを使用してのhttpサーバホストコンフィギュレーション内のこのようなルールを置くことを好む必要があります。これらのファイルは悪名高いエラーが発生しやすく、デバッグが難しく、サーバーの速度が遅くなります。彼らは、あなたがホスト構成(本当に安いホスティングサービスプロバイダを読む)を持っていない場合や、独自の書き換えルールを書くことに依存しているアプリケーションを持っている場合(最後のオプションは、明白なセキュリティの悪夢です)。

+0

よろしくお願いします。 –

関連する問題