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) でも引き続き利用できます。フォルダー - 何が欠けていますか?

私が実装しようとしている動作の例をいくつか追加します。

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 に答える