0

ドメイン名に mod rewrite を使用する方法を理解するのに問題があります。ドメイン拡張子に関係していると思いますが、よくわかりません。

Input: domain.com/google.com
Callback: domain.com/index.php?website=google.com

RewriteRule ^(.*)/$ index.php?website=$1
4

1 に答える 1

2

(.*)にでも一致するため、ドメイン名に一致させようとしても問題ありません。むしろ、問題は、入力に存在しない末尾のスラッシュの存在にあるよう/です。取り外して使用するだけです。フラグを追加することもお勧めします。^(.*)$[L]

RewriteEngine On
# Avoid rewrite loops on real files like index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?website=$1 [L]

オプションで末尾のスラッシュを含める必要がある場合は、入力文字列の末尾の前に?0 または 1 に一致するように a を追加します。/

RewriteRule ^(.*)/?$ index.php?website=$1 [L]
于 2013-01-02T00:42:48.023 に答える