2016-05-04 11 views
-2

オクラホマので、URLからすべての.php extentionsを削除することを決定し、そしてこのiv'eのための簡単な方法で使用iv'e:しかし、私のプロフィールページは今黒で、ほとんど何も表示されません.PHPを正しく削除する方法

Options MultiViews+ 

をバックグラウンドはURLのためですI入力した場合:

profile.php?username=Joe.Bills 

しかし、私が使用している場合は、完全に正常に動作します:

profile?username=Joe.Bills 

この自動変更URLとprofile例の後/を追加します。

profile/?username=Joe.Bills 

をとしたがって、 "別のディレクトリ"にあると考えてエラーが発生します。私はそれを別のディレクトリに行くとは思わないので、追加の/を追加しないようにするにはどうすればいいですか?

P.S.マイリンクの正しく、現在はこれです:私は

profile.php?username=Joe.Bills 

を置けばそれは完全に正常に動作しますので、URLはそのディレクトリを考えて、なぜ私は理解していない、言ったように

再び
<a href="profile?username=<?php echo $_SESSION['user_name']; ?>"><span class="bg">Profile</span></a> 

.PHP拡張機能を別の方法で削除するにはどうすればよいですか、または現在の方法とこれをどのように修正する方法がありますか?

+0

を確認してください。http://stackoverflow.com/questions/8371634/how-to-hide-php-extension-in-htaccess –

+0

.php拡張子を削除することはできません。あなたはURL書き換えに関するいくつかの調査を行う必要があります。あなたがApacheやnginxを使っているかどうかによって、個々のWebサーバーの書き換え方法を理解する必要があります。 – Pitchinnate

+0

私もこれを使いました:RewriteCond%{REQUEST_FILENAME} .php -f RewriteRule!* \。php $%{REQUEST_FILENAME} .php [L、QSA] –

答えて

2

次の代わりに、オプション+ Multiviewsをを使用することができます。

RewriteEngine on 
#remove trailing slashes 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R] 

RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule !/$ %{REQUEST_URI}.php [NC,L] 

これは、あなたが最後に延長/スラッシュなしで.phpファイルにアクセスできるようになります。

+0

私はこれを試してみましたが、内部エラーが発生しました。サーバ上でrewrite_modを有効にしましたが、.phpを削除しましたが、プロファイルに行くと '/'で変更されます。ユーザーのために私の要求をどうしたらいいですか?私はこれがなぜ起こっているのかを知りません。私は、エラーがどこから来ているのか分からないので、 '/'を持つリンクはありません –

+0

@Heaccessの他のルールを@Joebills? – starkeen

+0

さて、 "$ name = $ _REQUEST ['username'];" "$ name = $ _REQUEST ['user'];にリクエストを変更しました。これは "profile?user = Joe.Bills"として表示されていましたが、 "user"ではなく "username"になります。 '/'がなくても変更できる方法はありますか? –

関連する問題