私は私の.htaccessに次のルールがあります。ApacheのENVのvarはmod_rewriteのルールで設定されていない
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^index\.php$
RewriteRule ^(.*)$ index.php?q=$1 [L]
</IfModule>
をこれは、インデックス1の前に任意の先行するディレクトリをストリッピング(リクエストURIにクエリ文字列値q
を設定し、 .phpはにあります)。
たとえば、http://localhost/framework/testing
はq=testing
となります。
これを変更して、クエリ文字列を設定する代わりに、環境変数を設定したいと考えています。 (環境varが設定され得ることはありません)私は次のことを試してみましたが、それは動作しません:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^index\.php$
RewriteRule ^(.*)$ index.php [ENV=request:$1,L]
</IfModule>
奇妙な要求は、たとえば、index.phpので始まる場合、環境varがセットされます:http://localhost/framework/index.php/testing
セットq=index.php/testing
答えは現在有効であると確認できます;) –
私はそう思います。私は尋ねた質問に答えますが、エイリアスURL(共有ssl)では動作しません。私の目的は、PHPでベースURLを指定する必要がないことです。 –
さて、errr ...あなたの質問を修正するか、この1つを有効とチェックして、別の質問をしてもよいでしょうか? –