【问题标题】:Dynamic subdomain with htaccess (not redirect)带有 htaccess 的动态子域(不重定向)
【发布时间】:2012-12-02 06:05:00
【问题描述】:

目前,我通过使用 htaccess 有一个这样的 url 系统:

- www.domain.com/member/username
- www.domain.com/member/username/contact
- www.domain.com/member/user/album/title-of-the-album/albumID

.. 类似的东西

这是我的 htaccess,它运行良好。

RewriteRule ^member/([a-zA-Z0-9_-]+)$   member.php?username=$1
RewriteRule ^member/([a-zA-Z0-9_-]+)/contact$   contact.php?username=$1
RewriteRule ^member/([a-zA-Z0-9_-]+)/album/([a-zA-Z0-9_-]+)/([0-9]+)$   album.php?username=$1&title=$2&album_id=$3

现在我想为用户设置一个动态子域系统,比如“username.domain.com” 所以我决定使用下面的htaccess:

RewriteCond %{HTTP_HOST} !^www\.domain\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.domain\.com [NC]
RewriteRule ^(.*)$ www.domain.com/member/%1 [L]

但这会将用户重定向到他们的旧域“www.domain.com/member/username”而不是“www.domain.com/member/username” 我想让用户留在“username.domain.com”(地址栏中没有 url 更改)。

如果可能,是否有机会为其他新 url 保持相同的结构,例如当我输入时:

  • “username.domain.com/contact”会加载“www.domain.com/member/username/contact”的内容(地址栏没有url变化)
  • “username.domain.com/album/title-of-the-album/albumID”将加载“www.domain.com/member/username/album/title-of-the-album/albumID”的内容(地址栏中的网址没有变化)

请帮忙!!

【问题讨论】:

    标签: .htaccess dynamic subdomain


    【解决方案1】:

    试试:

    RewriteCond %{HTTP_HOST} !^www\.domain\.com
    RewriteCond %{HTTP_HOST} ([^.]+)\.domain\.com [NC]
    RewriteRule ^/?$ /member.php?username=%1 [L]
    
    RewriteCond %{HTTP_HOST} !^www\.domain\.com
    RewriteCond %{HTTP_HOST} ([^.]+)\.domain\.com [NC]
    RewriteRule ^/?contact$ /contact.php?username=%1 [L]
    
    RewriteCond %{HTTP_HOST} !^www\.domain\.com
    RewriteCond %{HTTP_HOST} ([^.]+)\.domain\.com [NC]
    RewriteRule ^/?album/([a-zA-Z0-9_-]+)/([0-9]+)$ /album.php?username=%1&title=$1&album_id=$2 [L]
    

    【讨论】:

    • 它的工作。但是,我是否必须为每个超链接设置相同的设置,例如“/contact”“/album”或“/photo”?有没有办法让它自动为他们申请?
    • @HoanNguyen 看起来他们必须分开,因为contactalbum 有一组不同的查询字符串(用户名与用户名/标题/专辑)。他们必须分开。
    • 你好,我也有类似的问题,你能看看我的问题吗?谢谢,我的问题是:Question
    猜你喜欢
    • 1970-01-01
    • 2015-03-28
    • 1970-01-01
    • 2011-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    相关资源
    最近更新 更多