2011-08-06 7 views
0

私は自分のホームページに表示したいMySQL DBのコンテンツを持っています。私は私のURLを変更するmod_rewriteをしたくないのではなく、次の操作を行う:htaccess、MySQL DBと存在しないファイル

  • (すなわちmysite.com/demolink2)URLをキープし
  • チェックは、ページが存在している、とされていない場合、index.phpにリダイレクト、渡します"demolink2"変数(実質的に最後のスラッシュの後のURL文字列の最後)
  • index.phpでは、コンテンツを提供することができますが、ユーザーにはURLを表示させたくありませんmysite.com/index.php?id=demolink2に変更しましたが、mysite.com/index.phpページの受注はmysite.com/demolink2となり、サイト内の実際のページにつながるURLをクリックするまで続きます。

ここには、最初のビットを達成する現在の.htaccessがあります。つまり、ページがすでに存在するかどうかを確認し、そうでない場合は、インデックスにユーザーを誘導します。ただし、書き直しを行っています。

ご意見・ご感想をお寄せください。

のhtaccessファイル:

Options +FollowSymLinks 
RewriteEngine on 

RewriteBase/

RewriteRule ^$ /index.php [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) /index.php [L] 

答えて

0

ちょうどそれがリライト(内部リダイレクト)とない適切なの3xxコードであるとして、ブラウザでURLが同じままになります

RewriteRule (.*) /index.php?id=$1 [QSA,L] 

に最後の行を変更リダイレクト。

  • mysite.com/demolink2が要求された場合、スクリプトでは/index.php?id=demolink2と表示されます。
  • mysite.com/hello/kittenの場合、スクリプトにはindex.php?id=hello/kittenが表示されます。
  • QSA既存のクエリ文字列を保持するフラグが追加されました。
関連する問題