2011-06-23 5 views
1

をsite.com/seoparser.php?anythingなぜなら住所http://site.com/seoparser.php?seoparser.phphtaccessを:どのようにredirrect site.com/anythingスクリプトには、このdoesntの仕事のhtaccess</p> <p>を使用してsite.com/seoparser.php?anything方法redirrect site.com/anythingスクリプトに

で終わる複数のリダイレクトの

RewriteEngine on 
RewriteRule (.*) http://site.com/seoparser.php?$1 

はあなたの助けをいただき、ありがとうございます。

答えて

2

あなたはそれがすでに書き換えられていないかどうかをテストする必要があります。

RewriteCond %{REQUEST_URI} !^seoparser\.php$ [NC] 
RewriteRule ^/?(.*)$  /seoparser.php?$1 [L] 
0

あなたは要求されたリソースは、ファイル/ディレクトリではないかどうかをチェックし、だけにして書き換えることができます。たとえば:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) /seoparser.php?$1 [QSA,L] 

状況に応じて、これは@intiで言及したよりもはるかに良い解決策になることができます(あなたの場所に持っているものリライトロジック/実装する必要があります)。実際のアプリケーション(WordPress、Magentoなど)やPHPフレームワーク(多くの場合、内部ルーティングロジックのみを持つ)で使用されるルールの組み合わせが表示されます。

これは(主に組織の観点から)アプローチ少し異なっている:

RewriteEngine On 
# Do not do anything for already existing files 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule .+ - [L] 

# Your rewrite rules (file/folder does not exist, we may need to route it elsewhere) 
RewriteRule (.*) /seoparser.php?$1 [QSA,L] 
関連する問題