1

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  
4

1 回答 1

0

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

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

那应该将您重定向到域,并剥离index.php.

于 2013-02-20T05:30:30.397 回答