我遇到了如何使用mod重写域名的问题。我认为这与域名扩展有关,但不确定。
Input: domain.com/google.com
Callback: domain.com/index.php?website=google.com
RewriteRule ^(.*)/$ index.php?website=$1
答案 0 :(得分: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]
如果您需要选择性地包含尾部斜杠,请在输入字符串结尾之前添加?
以匹配零或一个/
。
RewriteRule ^(.*)/?$ index.php?website=$1 [L]