1

サイトを検索したところ、きれいな URL に書き換えることに成功しました。もう少し助けが必要です。

次のように、クリーンな URL に正常に書き換えられたレコードを含むページがあります。

domain/record.php?id=1685 > to > domain/record-Gavin-Rees-1685以下を使用して:

.htaccess ファイル:

RewriteRule ^record-(.*)-(.*)$ /record.php?id=$2 [L]

これは私のphpファイルにあります:

$temp=str_replace(' ','-', $record [record_name]);
$temp=str_replace('.','', $temp);

<a href='/record-". $temp ."-".$record[id]." '>

これは完璧に機能します。問題は。

他の方法で書き直すことはできないので、直接行く場合:

/record.php?id=1685 it still exists. i tried > RewriteRule ^record.php?id=$ /record-(.*)-(.*)$ [R,L]
4

1 に答える 1

0

これは、.htacces書き換えルールでは不可能です。これは、ソフトウェアの内部を認識している一般的なルールを定義できなかったためです。.htaccessファイルでこれを行う場合は、すべてのIDに対してルールを作成する必要があります。これにより、非常に大きくて扱いにくい.htaccessファイルが作成されます。

直接スクリプト呼び出しのリダイレクトを取得するためのより良い方法は、phpファイル自体でリダイレクトを実行し、httpステータスコードを設定することです(つまり、301-永続的に移動されます)。要求されたURLを取得します。最初に使用$_SERVER['REQUEST_URI']して確認できます/record.php

于 2013-03-21T16:48:43.487 に答える