2016-03-21 13 views
0

私は、ユーザーのプロフィールが他のユーザーによって簡単に閲覧できる場所のための虚栄心のURLを作成しようとしています。vanity url with .htaccess with PHP

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} -f [OR] 

RewriteCond %{REQUEST_FILENAME} -d 

RewriteRule .* - [L] 

RewriteRule ^(.*)$ http://localhost/test/public/profile.php?username=$1 [NC] 

これはコードですが、私は私の.htaccessファイルにこのコードを使用するたびに、私は500内部サーバーエラーとサブフォルダ公共が私のディレクトリから消え得ます。何が間違っていますか?最初に設定を行う必要がありますか?

答えて

0
この

チェック:

Options +FollowSymLinks 
    <IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteBase/
    RewriteCond %{REQUEST_FILENAME} -f [OR] 
    RewriteCond %{REQUEST_FILENAME} -d 
    RewriteRule ^profile/([a-zA-Z0-9_\-/]+)$ test/public/profile.php?username=$1 [L,NC] 
    </IfModule> 

しかし注意してください。

  1. をあなたはそれを動作させるために上の書き換えエンジンを持っている必要があります(あなたが作業しているOS /システムインストール手順のためのビットをグーグル)
  2. サブディレクトリから使用する場合は、適切なRewriteBaseディレクティブを置きます。
+0

私はちょうどそれを試してみたが、それでも同じ。これは私のブラウザに表示される内容です」内部サーバーエラー サーバーで内部エラーまたは構成ミスが発生し、要求を完了できませんでした。 サーバー管理者に[email protected]までお問い合わせくださいエラーが発生しました。このエラーの直前に実行した操作はありません。 このエラーの詳細については、サーバーエラーログに記載されています。 –

0

それはグローバルリライトロジックを使用することをお勧めします:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule . index.php [L] 

とあなたのindex.phpキャッチに$ _SERVER [「REQUEST_URI」]、ユーザーが存在する場合は、次のに処理を渡していない場合はそう応えます手順。

しかし、あなたが問題のような実現を主張するのであれば、これを試してみてください。

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ profile.php?username=$1 [L,QSA] 
+0

私はそれを試しましたが、それでも同じです。これは私のブラウザに表示されるものです」Internal Server Error内部エラーまたは構成ミスが発生したため、リクエストを完了できませんでした。このエラーが発生した時刻をサーバー管理者の[email protected]に連絡し、このエラーの直前に実行したアクション。このエラーの詳細については、サーバーエラーログに記載されている可能性があります。 –

+0

は書き換えエンジンがオンになっていないようです。試してみてください:sudo a2enmodを書き直してから、Apacheを再起動してください – num8er

+1

ありがとうございました。それは今働いている。書き換えエンジンは実際にはオフになっていました。私はそれをオンにする別の方法を見つけた。 wampmanagerメニューシステムを使用してmod_rewriteを有効にするには: wampmanager - > Apache - > Apache modules - >をクリックして、wampmanagerアイコン(システムトレイにあるWアイコン、通常は画面の右下にあります)を左クリックします。rewrite_module –