我正在尝试编写一个mod_rewrite来像这样工作
wildcard.subdomain.domain.com
=> subdomain.domain.com/data.php?q=wildcard
wildcard.subdomain.domain.com/?repeat=1
=> subdomain.domain.com/data.php?q=wildcard&repeat=1
subdomain.domain.com
=> data.php
www.subdomain.domain.com
=> data.php
到目前为止,我在.htaccess
中做了什么<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^.]+)\.abc\.def\.com\.br$ [NC]
RewriteCond %1 !^(www)$ [NC]
RewriteRule ^.*$ data.php?q=%1
</IfModule>`
答案 0 :(得分:1)
重复使用参数
RewriteRule ^.*$ data.php?q=%1&%{QUERY_STRING}
答案 1 :(得分:1)
试试这些:
# This should cover the first 2 cases
RewriteCond %{HTTP_HOST} ^([^.]+)\.abc\.def\.com\.br$ [NC]
RewriteCond %1 !^(www)$ [NC]
RewriteRule ^$ /data.php?q=%1&%{QUERY_STRING} [L,QSA]
# This should cover the last 2
RewriteCond %{HTTP_HOST} ^([^.]+)\.abc\.def\.com\.br$ [NC]
RewriteCond %1 ^(www)$ [NC]
RewriteRule ^$ /data.php?%{QUERY_STRING} [L,QSA]
请注意,在请求为的情况下,这不会执行任何操作:wildcard.subdomain.domain.com/some/path/to/file.html
这些匹配请求URI是/
。
答案 2 :(得分:0)
如果您使用的是cpanel,则可以创建*子域(* .domain.com)并将其连接到目录,然后在该目录中创建index.php:
<?php
echo "<pre>";
print_r($_SERVER);
echo "</pre>";
?>
测试结果,您可以从服务器名称或服务器主机
导出子域名