0

URL書き換えに関するこの記事が最も役に立ちました。しかし、ここにいくつかの質問があります。

URLを使用したい(書き換える前に、クエリ文字列内にスペースを入れて)

http://www.store.com/products.aspx?category=CD s-Dvd s 

まず、+何らかの理由でスペースをプラス記号()に置き換える必要がありますか?このような:

http://www.store.com/products.aspx?category=CD+s-Dvd+s 

第二に、私の母国語はギリシャ語です。パラメータをエンコードする必要がありますか?一般的に言って、SEOに関して、URLエンコードをオンにした場合の結果は異なりますか?

4

3 に答える 3

1

実際には、スペースをハイフンに置き換える必要があります。それは実際にはアンダースコアを使用するよりもSEOに適しています。

于 2010-01-08T00:52:08.330 に答える
0

一般的な方法は、スペースをアンダースコアに置き換えることです。http://www.store.com/products.aspx?category=CD_s-Dvd_s

于 2010-01-07T23:25:07.883 に答える
0

値を変更せずに取得する必要がある場合は、エスケープを使用する必要があります。URLクエリパラメータ値では、スペースは+またはとしてエンコードされる場合があります%20。mod_rewriteは、外部バージョンが適切にスペルされている限り、通常これを行います。

URLの外部バージョンでは、%20のみを使用できます。

http://www.store.com/products/CD%20s-Dvd%20s
http://www.store.com/products.php?category=CD%20s-Dvd%20s

URLパス部分のa+は、文字通りプラスを意味するためです。

(そこにスペースが必要ですか?スペースのない「CD-DVD」の方が良いタイトルのようです。)

パス部分からパラメータまで任意の文字列を取得することは簡単ではありません。エスケープの問題とは別に、パス部分の/ようにエンコードする必要がある、の問題があります。ただし、Apacheは、セキュリティ上の理由から%2F、デフォルトでを含むすべてのURLをブロックします。%2F\Windowsでも同様に影響を受けます。)構成を使用してこの動作をオフAllowEncodedSlashesにすることができますが、ポータブルにしたい場合は、カテゴリ名として「CD/DVD」を使用できないことを意味します。

このため、また%20URLに大量のsを含めるのは少し醜いので、文字列は通常、URLに配置される前に「スラッグ」に変換されます。ここで、目に見える%エスケープをもたらすすべての競合するASCII文字はハイフンやアンダースコアなどのフィラー文字に置き換えられました。これは、文字列をラウンドトリップできないことを意味します。そのため、特定のスラッグに適切なエンティティを検索できるように、データベースに別のタイトルとスラッグを保存するか、URLで追加のIDを使用する必要があります。 (Stack Overflowのように)。

于 2010-01-08T00:47:02.473 に答える