显示子域而不是文件路径

时间:2015-08-27 02:17:47

标签: html apache .htaccess mod-rewrite redirect

我的问题如下:

我有一个域名(tc_malloc_size)和一个名为page(tc_valloc)的文件夹。

页面文件夹包含一堆文件,包括css文件和- (void)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

我的domain.com文件位于根文件夹(domain.com/page)中并包含以下内容:

index.html

此代码会从域中删除.htaccess部分(显示为domain.com/.htaccess而不是RewriteEngine On RewriteCond %{HTTP_HOST} !^domain.com$ [NC] RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301] )。

我希望设置一个子域名,以便不会将网址显示为www,而是显示为domain.com

我已尝试使用以下代码

www.domain.com

但访问http://domain.com/page并未返回任何内容,转到http://page.domain.com仍会显示为RewriteEngine On RewriteCond %{HTTP_HOST} !^domain.com$ [NC] RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301] RewriteEngine On RewriteCond %{HTTP_HOST} ^page\.domain\.com$ RewriteCond %{REQUEST_URI} !^/page/ RewriteRule (.*) /page/$1

我对page.domain.com的了解不是最好的,所以请不要在没有解释的情况下进一步提高。

1 个答案:

答案 0 :(得分:1)

尝试:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(page\.)?domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteCond %{THE_REQUEST} \ /+page/([^\?\ ]*)
RewriteRule ^ http://page.domain.com/%1 [L,R=301]

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