繁体   English   中英

干净的URL mod_rewrite和通配符子域

[英]Clean URLs mod_rewrite & wildcard subdomains

我得到了这个网址

http://domain.com/blogs/directory-param

这个规则

RewriteBase / blogs / directory / RewriteRule ^ / blogs / directory-([[A-Za-z0-9-] +)$ /blogs/directory/index.php?cat=$1 [L]

所以我现在得到/blogs/directory/index.php?cat=param我的问题是:

我使用通配符子域,因此每个* .domain.com都映射到domain.com/blogs/,例如soeren.domain.com映射到domain.com/blogs,依此类推...

我现在的问题是我想要soeren.domain.com/directory-param的规则,该规则指向domain.com/blogs/directory?index.php?cat=param

你有什么想法?

好吧,要删除子域部分,请尝试外部重定向:

RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com$
RewriteRule (.*) http://domain.com$1 [R,L,QSA]

这是您现有规则的补充和补充。

这终于对我有用:

RewriteCond %{HTTP_HOST} ^[^.]+\.domain\.com$  
RewriteCond %{REQUEST_URI} !^/directory(/|$)  
RewriteRule ^blogs/directory-([A-Za-z0-9-]+)$ /directory/index.php?cat=$1 [L,QSA]

@Archimedix:非常感谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM