1
動的なページは、以下のhtaccessのルールで構成されている動作していないに/index.phpからリダイレクト:は/私のサイトで
# Dynamic Pages
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
ので、ページが
http://example.com/?url=testpage
から
にリダイレクトされますhttp://example.com/testpage/
また、/index.phpを/(ルート)にリダイレクトしたいと考えています。誰かがブラウザのアドレスバーに
http://example.com/index.php
に入ったときに、それはこれを実現するために
http://example.com/
に行くべき、私は以下のルール試してみました:これは正常に動作しているものの
#index.php to/
RewriteRule ^index\.php$/[R=301]
をが、私の以前のhtaccessルールに影響しています。私は、以前の動的ページのルールが正常に動作し、このルールを削除すると、次のURL
http://example.com/testpage/
は自動的
http://example.com/?url=testpage
になります。どうやってhtaccessファイルに両方のルールを矛盾なく保つことができますか?
私の完全なの.htaccessファイルは、次のとおりです。
Options +FollowSymlinks -MultiViews
#Enable mod rewrite
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
# Dynamic Pages
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
# index.php to/
RewriteRule ^index\.php$/[R=301]
うわー!私はルールを理解できないのに魅力的だった。 – user5307298
'THE_REQUEST'変数は、ブラウザからApacheが受け取った元のリクエストを表し、いくつかの書き換えルールの実行後に上書きされることはありません。この変数の値の例は 'GET /index.php?id=123 HTTP/1.1'です。 – anubhava