2016-08-18 6 views
0

私は自分のサイトにフレンドリーなURLを作成しようとしています。しかし、私は何をすべきか分からない。htaccessフレンドURL(PHP内)

demo1

demo2

を例えばページを入力するには:localhost/study/dashboard/client/network.php

私は/ネットワーク/研究をlocalhostに書きたかった私のサイトが構成されている以下のように。他のページと同じフォーマットに従ってください。私はuser-proc.php、api.phpなどの重要なファイルへの直接アクセスをブロックしたかったのです。私が実行しようとしました何

RewriteEngine On 
RewriteRule ^study/network?$ network.php 

私は、各ディレクトリで.htaccessファイル(管理、クライアント)を置くが、それは完全なため私のウェブサイトをブロックしました。私はlocalhost/study/administration/network.phpにアクセスすることができませんでした。 RewriteRule

RewriteRule ^study/network$ /study/dashboard/client/network.php [L] 

にこれは、この特定の場合である

+0

- (dash)と置換一部を省略し、フラグを使用しますが、この質問を絞り込むようにしてください。私たちはあなたが望む翻訳が何であるかを推測することはできません。 'localhost/study/network'は、あなたが明示的に言った以外の' localhost/study/dashboard/administration/network.php'に行かないことをどうやって知っていますか?あなたは他のケースについては明示されていません。あなたは 'administration'ディレクトリへのすべてのアクセスをブロックしたいですか? 「重要なファイル」の定義は正確には何ですか?それが立てば、この質問は広すぎます。 –

+0

私は可能な限り、あなたが私にそれを手伝ってくれるだけの一例を与えました。ちょうど私が試みたが、私は成功しなかった。重要なファイルについて、私は言った: "user-proc.php、api.php"または "something-proc.php"のようなもの.. – Cesar

+0

そして画像の上に..私は「私はURLを書き換えたい」と言った。 ..そして、私はどのように 'localhost/study/dashboard/client/network.php'のURLを' localhost/study/network'に書き換えるかの例を与えました – Cesar

答えて

0

/study/networkから/study/dashboard/client/network.phpに書き換えるために、あなただけの2つのURLを置くことができ、パターンと置換。任意の組み合わせでこれを行うには、リクエストURIパターンからの二つの部分をキャプチャして、これは、任意の二つの構成部品(...)/(...)を探して、これを使用しています

RewriteRule ^(.*?)/(.*?)$ /$1/dashboard/client/$2.php [L] 

置換部分でこれを使用する必要があります - $1$2 - 中交換。


いくつかのURIへのアクセスを防止するために、あなたはほとんど同じことを行うが、F|forbidden

RewriteRule user-proc.php - [F] 
+0

しかし、私が "RewriteRule user-proc.php - [F]"を実行すると、ファイルがこのページへの投稿経由でデータを送信すると、不正アクセスが表示されます。私は何をしますか? – Cesar

+0

あなたは「私はuser-proc.phpのような重要なファイルへの直接アクセスをブロックしたかった」と書いています。これがあなたが望むものでない場合は、あなたの質問を明確にしてください。 –

+0

確か:/。申し訳ありませんオラフ。 – Cesar