0

我想在我的网站中加入通配符。所以以前它是 www.mysite.com/user/mike 或 www.mysite.com/user/dave 将看起来像 mike.mysite.com 或 dave.mysite.com。我尝试了 .htacces 重写,但那些是为子域重写的,它给 css 和图像带来了问题。我只是希望它也用我们传递的值调用用户函数。我使用 RoR MVC 框架。(我确定 .htacces解决这个问题,但我不知道我们是否也可以在路由中提供通配符)。

我想保持其他链接正常,如 www.mysite/project/dashboard 或 www.mysite/project/messages。

提前致谢。

编辑

我试过了,但它不起作用,它进入了site5s的默认页面。

Options +FollowSymLinks
RewriteEngine On
RewriteCond ^(.*)$.example.com  [NC]
RewriteRule ^(.*)$ http://example.com/user/$1 [R=301,L]'
4

1 回答 1

0

好的,我终于做到了,你必须先做的事情很少。

首先将此代码粘贴到 .htaccess 中。

Options +FollowSymLinks
RewriteEngine On
// enable rewriting
RewriteCond %{HTTP_HOST} ^(.+)\.example\.com$  // Check for wildcard character before example.com
RewriteCond %1 !=www  // check if www is not present in URL
RewriteRule ^(.*)$ http://www.example.com/user/%1/$1 [R=302,L]  // Redirect URL and replace matched wildcard character "^(.+)" in place of "$1"

现在我们已经为此定义了规则,现在轮到重定向了。上面的代码将无法工作。为此,您必须从您的 Cpanle 创建一个通配符子域。创建一个子域 *.example.com 并指向您的 public_html(如果 t\redirected 站点是子站点,则为您的子站点)

于 2014-08-25T11:02:19.570 回答