我如何从这个重写网址
domain.tld/blogs.php?user=username&post=postname
对此:
用户名.domain.tld/posts/postname
我如何从这个重写网址
domain.tld/blogs.php?user=username&post=postname
对此:
用户名.domain.tld/posts/postname
确保内容中的所有链接如下所示:username.domain.tld/posts/postname
在 DNS 中创建通配符 CNAME,以便任何子域都指向托管的服务器domain.tld
,并且它们都共享相同的文档根。
将这些规则添加到文档根目录中的 htaccess 文件中:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.) [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.tld$ [NC]
RewriteRule ^posts/([^/]+)/?$ /blogs.php?username=%1&post=$1 [L]
RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /blogs\.php\?user=([^&]+)&post=([^\ ]+))
RewriteRule ^ http://%2.domain.tld/posts/%2 [L,R=301]