2016-09-21 3 views
1

にリダイレクトしています。私のサイトのURLは検索エンジンにやさしく、GETパラメータでURLを書き換えていますので、書き換えを行っていますが、htaccessはそのURLを処理していると思われますURLhtaccess URLをディレクトリファイル

私の古いURL

www.domain.com/foo/myfile.php?nid=554 

PHP

www.domain.com/foo/554-demo-page-title 

で新しい書き換えられたURL旧URLのではなく、ために働く私の現在のhtaccessのルール新しい

Options +FollowSymLinks 
RewriteEngine On 
#RewriteCond %{SCRIPT_FILENAME} !-d 
#RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteBase/
RewriteRule ^([0-9]+)-(.*) ./foo/myfile.php?nid=$1 [NC] 

myfile.phpは古いURLの包み両方のURLを処理することができますbecuaseので、私はいくつかのためにプレイし、それは新しいURLとして書き換え、リダイレクト/foo/myfile.phpにその新旧両方のURLの土地にしたいですhtaccessのルールに時間が、ノー成功

答えて

1

あなたは(.htaccessfoo/内のディレクトリがあると仮定した場合)サイトのルートの.htaccessにこのルールを使用することができます。

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/

RewriteRule ^foo/(\d+)-.*$ foo/myfile.php [L,QSA,NC] 

すでに/foo/.htaccessが、そのFILの内側にこのルールを使用している場合E:

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase /foo/ 

RewriteRule ^(\d+)-.*$ myfile.php [L,QSA] 
+0

いない他のhtaccessのルールが...あなたの最初のhtaccessのルールは私がサイトルートのhtaccessファイルに追加して、第二htaccessのルールは、私はDIR htaccessファイルをfooへの追加設定が設定されていない404ページ – user889030

+0

へのリダイレクト機能していないました私は新しい、 – user889030

+0

年古いURLとあなたがfooディレクトリにごみを追加している.htaccessそれは500エラー – user889030