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]

如果您需要选择性地包含尾部斜杠,请在输入字符串末尾添加一个?以匹配零或一。/

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