Apache mod_rewrite用于域名

时间:2013-01-02 00:33:32

标签: apache .htaccess mod-rewrite

我遇到了如何使用mod重写域名的问题。我认为这与域名扩展有关,但不确定。

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

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

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]