現在のパターンは、 qcidが[0-9]で、nameが読み取り可能でエンコードされている必要がある場所http://example.com/questions.php?qcid=25&name=java
にしたいと考えています。複数の単語で構成されている場合は、単語の間に「-」ハイフンを挿入する必要があります。たとえば、オブジェクト指向。http://example.com/25/java
質問する
125 次
2 に答える
1
.htaccess で
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([0-9]+)/([a-z0-9\-]+)(?!(.css)|(.js))$ questions.php?qcid=$1&name=$2 [NC]
PHP では、名前を取得してハイフンを取り除き、必要に応じて大文字を修正する必要があります。例として、名前を小文字のキャメルケースにしたいとしましょう:
$_GET['name'] = "this-is-a-test-name";
$name = '';
$exploded = explode('-',$_GET['name']);
foreach($exploded as $piece) {
$name .= ucfirst($piece);
}
// If you have PHP >= 5.3
// $name = lcfirst($name);
// Otherwise
$name{0} = strtolower($name{0});
echo $name;
于 2012-11-21T07:58:50.080 に答える
1
これは、数字で始まり、次にスラッシュ、次に任意の URL を取得し、上記のように変換します。ただし、ある種の URL エンコーディング/デコーディングが必要な場合は、questions.php スクリプトでそのビットを処理する必要があります。
RewriteRule ^(\d+)/(.+) /questions.php?qcid=$1&name=$2 [NC,L]
于 2012-11-21T07:54:56.507 に答える