我在弄清楚如何将 mod rewrite 用于域名时遇到问题。我认为这与域扩展有关,但不确定。
Input: domain.com/google.com
Callback: domain.com/index.php?website=google.com
RewriteRule ^(.*)/$ index.php?website=$1
我在弄清楚如何将 mod rewrite 用于域名时遇到问题。我认为这与域扩展有关,但不确定。
Input: domain.com/google.com
Callback: domain.com/index.php?website=google.com
RewriteRule ^(.*)/$ index.php?website=$1
(.*)
将匹配任何内容,因此您尝试匹配域名并不重要。相反,问题看起来是存在您的输入/
中不存在的尾部斜杠。只需将其删除并使用^(.*)$
. 还建议添加[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]