Apache mod_rewrite用于同一目录下的特定域

时间:2013-04-17 22:27:41

标签: php apache mod-rewrite yii

我用PHP&编写了一个网站Yii框架,我有.htaccess文件,其中有mod_rewrite语句使用干净的URL:

Options +FollowSymLinks
IndexIgnore */*

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

例如,我使用此域名:www.example.com& popstan.net,这些域名的网址重写就像在梦中一样!

然而,我现在正在创建一个博客,并且使用我的Yii控制器,我有这个结构来访问博客文章,博客类别和单篇博客文章:

现在,我希望使用此博客,但在域名http://blog.example.com/下,并维护这些网址结构,我希望不要将我的网站复制到两个单独的目录(即博客目录)。

是否可以使用mod_rewrite重写域的URL,但是要从父目录中获取URL?

1 个答案:

答案 0 :(得分:1)

你应该简单地说:

1)创建指向同一目录的blog.example.com virtual host

2)在Yii配置中定义相应的url规则,例如:

'http://blog.example.com/<action:\w+>/<param:\w+>'=>'/blog/<action>',
'http://blog.example.com/'=>'/blog/index',

您无需修改​​.htaccess