Html 显示子域而不是文件路径
我的问题如下: 我有一个域(Html 显示子域而不是文件路径,html,apache,.htaccess,mod-rewrite,redirect,Html,Apache,.htaccess,Mod Rewrite,Redirect,我的问题如下: 我有一个域(domain.com)和一个名为page(domain.com/page)的文件夹 页面文件夹包含一组文件,包括css文件和index.html 我的.htaccess文件位于根文件夹(domain.com/.htaccess)中,其中包括: RewriteEngine On RewriteCond %{HTTP_HOST} !^domain.com$ [NC] RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301] 此代
domain.com
)和一个名为page(domain.com/page
)的文件夹
页面文件夹包含一组文件,包括css文件和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
)
我希望设置一个子域,这样就不用将url显示为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
不会返回任何内容,而进入domain.com/page
仍显示为domain.com/page
我对.htaccess
的了解不是最好的,因此请不要在没有解释的情况下太过深入。试试:
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
不幸的是,这不起作用。我收到一个500内部服务器错误。我已经替换了Web空间根文件夹(domain.com/)中.htaccess文件中的代码(更改虚拟域和页面)。