Apache mod_rewrite文件夹到子域

时间:2013-02-19 23:52:52

标签: apache .htaccess mod-rewrite subdomain

domain.com/folder/index.php/var1/var2/etc / 应该重定向到 folder.domain.com/var1/var2/etc / 即保持参数完整但重定向和剥离index.php

文件夹结构如下

Webroot的
的.htaccess
文件夹
index.php

虽然我可以使用以下内容将domain.com/folder / ...重定向到folder.domain.com / ...

RewriteEngine On  
RewriteCond %{REQUEST_URI} ^/folder/(.*)$  
RewriteRule .* http://folder.domain.com/%1 [R]

当我尝试用

剥离index.php时
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteRule ^(.*)$ index.php [QSA,L]  

一切都开始出错了。我想要的URL架构工作正常(folder.domain.com),但它仍然可以在文件夹URL(domain.com/folder/index.php)上找到我还尝试将部分和全部.htaccess放入文件夹 - 我错过了什么?

添加一些我正在尝试实施的行为示例:

domain.com/folder/index.php/var1/var2 = folder.domain.com/var1/var2  
folder.domain.com/index.php/var1/var2 = folder.domain.com/var1/var  

1 个答案:

答案 0 :(得分:0)

我可以为你提出很多建议,但我认为这是目前最好的建议(注意:未经测试,我现在不在电脑上):

RewriteCond%{REQUEST_URI} ^/folder/
RewriteRule ^folder/index.php/(.*)$ http://folder.domain.com/$1 [R=301,L]

这应该会将您重定向到域,并删除index.php