2010-12-17 11 views
0

私は何かを把握しようとしています。Mod改ざん拡張の競合

これは私がuserpage.php非表示にするには、ユーザー=ムーンウォーカーを使用し、ローカルホスト/ムーンウォーカーを示しているコードです:?

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/?$ userpage.php?user=$1 [NC,L] 
RewriteRule ^([^/]+)/(images|videos|music)/?$ userpage.php?user=$1&page=$2 [NC,L] 
</IfModule> 

私はまた、音楽、ビデオや画像などのいくつかのページをロードするためにそれを使用。今問題:私は私のサーバー上のすべての.php拡張子を隠そうとしています。例: search.phpがlocalhost/searchに変更される

しかし、私が投稿したばかりのスクリプトでは、検索がユーザー名であると考え続けるので、userpage.phpファイルを表示し続けます。

:localhost/usernameの構造を変更せずにこれを解決する方法はありますか?

ありがとうございます。

編集:私はこれが不可能であることが判明

<IfModule mod_rewrite.c> 
    Options +FollowSymLinks 
    Options +Indexes 
    RewriteEngine On 
    RewriteCond %{SCRIPT_FILENAME} !-d 
    RewriteRule ^([^\.]+)$ $1.php [NC,L] 
RewriteRule ^select/([^/]*)$ /test/PDO/select2.php?lang=$1 [L] 

</IfModule> 
+0

注文を変更するのはどうですか? – Robert

+0

@Robert: 既に試しました。私が順序を変えれば、最初のスクリプトはうまく動作するので、それは私にsearch /を指示しますが、2番目のスクリプトはもう動作しません。 – moonwalker

答えて

0

これは、私は拡張子を隠すために使用している2つ目のスクリプトです。だから私は自分の構造を変えました。 localhost/usernameの代わりにlocalhost/user/usernameを使用します。

すべての問題が解決されました。

関連する問題