2009-05-25 19 views
0

設定を変更したときにギャラリーで再生中に問題が発生しました。モディリライトURL変更

のURLは以下のような見て:しかし、私はエラーにパターンがある気づい
main.php/D /数/ name.jpg

"数" が「すなわち(動的です9496- 2 ")
" name "は動的です(つまり、" all + clad + 7pc + b ")

他のすべては静的です。

残念なことに、設定を変更すると、「番号」の部分が「9496-2」から「9495-2」に変更されました。

変数 "number"から値 "1"を減算するにはどうすればよいですか?

Jeff

答えて

0

これはそれを行う必要があります。

RewriteEngine On 
RewriteBase/
RewriteRule ^photos/ebay/main.php/d/([0-9]*)6-([0-9]*)/(.*).jpg /photos/ebay/main.php/d/$1\5-$2/$3.jpg [QSA,L] 

私はあなたが既にそれを得たが、ここで追加のスクリプトを含まない溶液である知っています。 (そして私は実際に\ 5が動作するようにこれをテストしました)。

+0

お返事ありがとうございます。 "9496-2"もダイナミックです。私は、ダッシュでその数字を分割し、最初の部分から1を引く必要があると思っていますか? – Jefe

+0

これはそうするべきです。 ($ 1)は私がこれまで試みたことがないので動作しないかもしれませんが、そのshoudlはシンプルなgoogleです。 – Sionide21

+0

"($ 1)"を使用すると、実際に変数の両側に()が追加されます。 – Jefe

0

あなたは部品が異なりますので、私はちょうど推測するつもりだどの固定されているあなたのURLの一部言いませんでした:あなたはまた、「あなたの場合は、フラグにR=301を追加することもでき

RewriteEngine on 
RewriteBase/
RewriteRule ^/photos/ebay/main.php/d/9496-2/(.*)$ /photos/ebay/main.php/d/9495-2/$1 [QSA,L] 

をクライアントにリダイレクトを送り返すのが好きです。 (そのまま、「内部リダイレクト」を行う必要があります)

+0

少し変更して、これを1つのケースで動作させることができました。 RewriteRule^main.php/d/9496-2 /(.*)$/photos/ebay /main.php/d/9495-2/$1 [QSA、L] – Jefe

0

ここでは解決策があります。これには、.htaccessファイルとPHPスクリプトが含まれていました。

の.htaccessファイル
は、以下の内容を含む ".​​htaccessファイル" ファイルを作成します。あなたの中に追加し、 "scriptName.php" を作成します

RewriteEngine On 
RewriteBase/

# Redirect to PHP Script 
RewriteRule ^main.php/d/([0-9]*)-([0-9])/(.*)$ scriptName.php?v1=$1&v2=$2&v3=$3 [R=301,QSA,L] 

PHPスクリプト論理。私の場合、v1から "1"を引く必要がありました。

注:.htaccessとPHPスクリプトが同じパスにあることを確認してください。