我使用htaccess mod-rewrite将子域网址重写为动态网址,例如: subdomain.example.com/shop 会被重写为 example.com /店铺/?页=子域
以下代码正常运行:
RewriteEngine On
RewriteCond %{HTTP_HOST} (.*)\.example\.com [NC]
RewriteRule ^(.*)$ http://example\.com/$1/?page=%1 [L,P]
但问题是,如果我们访问: subdomain.example.com (没有" shop"在网址末尾),它会显示404错误页面,因为它会读取网址为: example.com//page=subdomain ,带有双斜线" //"因为" $ 1"是空的。
无论如何,我们可以把" $ 1"在条件是如果它是空的然后削减" /"它旁边也会被移除,因此网址应该被理解为 example.com/page=subdomain ,在"页面之前只有一个斜杠"参数β
非常感谢任何htaccess专家可以帮助我。
谢谢!
答案 0 :(得分:0)
当然,只需为“没有任何”情况明确添加单独的规则:
RewriteCond %{HTTP_HOST} (.*)\.example\.com [NC]
RewriteRule ^$ http://example\.com/?whatever [L,P]