2013-09-21 35 views
1

我目前正在研究博客门户,并且正在尝试在此处实现特定的功能。与主要网站完全相同地重写子域名

这是我的.htaccess代码:

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www.[NC] 
RewriteCond %{HTTP_HOST} ^(.+?)\.MyDomain.com$ [NC] 
RewriteRule ^$ blogdisplay.php?page=%1 [L,QSA] 
RewriteRule ^([a-zA-Z0-9-]+)$ index.php?page=$1 
RewriteRule ^([a-zA-Z0-9-]+)/$ index.php?page=$1 
RewriteRule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)$ index.php?page=$1&page2=$2 
RewriteRule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/$ index.php?page=$1&page2=$2 
RewriteRule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)$ index.php? page=$1&page2=$2&page3=$3 
RewriteRule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/$ index.php?page=$1&page2=$2&page3=$3 

当一个人试图达到SOMETHING.mydomain.com,htaccess的正在改写它blogdisplay.php页= BLOGNAME?正如计划。现在,问题是我希望它的行为与主网站完全相同,并将SOMETHING.mydomain.com/page重写为blogdisplay.php?page = BLOGNAME?page2 = page。

有什么办法可以让子域使用blogdisplay.php而不是index.php,但是除此之外的工作方式与“主网站”的子页面完全一样吗?

回答

0

这种替换代码:

RewriteEngine On 

RewriteCond %{HTTP_HOST} !^www.[NC] 
RewriteCond %{HTTP_HOST} ^(.+?)\.MyDomain.com$ [NC] 
RewriteRule ^$ blogdisplay.php?page=%1 [L,QSA] 

## If the request is for a valid file 
RewriteCond %{REQUEST_FILENAME} -f 
## don't do anything 
RewriteRule^- [L] 

RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTP_HOST} ^(.+?)\.MyDomain\.com$ [NC] 
RewriteRule ^([a-z0-9-]+)/?$ blogdisplay.php?page=%1&page2=$1 [L,QSA] 

RewriteRule ^([a-z0-9-]+)/?$ index.php?page=$1 [L,NC] 
RewriteRule ^([a-z0-9-]+)/([a-zA-Z0-9-]+)/?$ index.php?page=$1&page2=$2 [L,NC] 
RewriteRule ^([a-z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ index.php?page=$1&page2=$2&page3=$3 [L,NC] 
+0

似乎完美地工作。非常感谢! :) –

+0

不客气,很高兴它为你解决。 – anubhava

+0

哦,好像有一个小问题...当我试图达到example.mydomain.com/page时,它工作正常,但当试图到达example.mydomain.com它重写为只是mydomain.com。 –