Мод-переписать URL Change - PullRequest
0 голосов
/ 25 мая 2009

У меня была проблема с воспроизведением с Галереей, когда я изменил настройку. Тем не менее, я заметил, что есть ошибка в этом:

URL выглядят так:
main.php / д / номер / name.jpg

«число» является динамическим (то есть «9496-2»)
«имя» является динамическим (то есть «все + одетые + 7pc + b»)

Все остальное статично.

К сожалению, когда я сделал изменение настройки, часть «число» изменилась с «9496-2» на «9495-2».

Как вычесть значение "1" из переменной "число"?

Jeff

Ответы [ 3 ]

0 голосов
/ 25 мая 2009

Вы не сказали, какая часть ваших URL-адресов фиксирована, а какие отличаются, поэтому я просто угадаю:

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

Вы также можете добавить R=301 к флагам, если хотите отправить перенаправление обратно клиентам. (как есть, это должно сделать «внутреннее перенаправление»)

0 голосов
/ 26 мая 2009

Вот решение, которое сработало. Он включал использование файла .htaccess и скрипта PHP.

.htaccess файл :
Создайте файл «.htaccess» со следующим содержанием:

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 Script:
Создайте «scriptName.php», затем добавьте в свою логику. В моем случае мне нужно было вычесть "1" из v1.

ПРИМЕЧАНИЕ: убедитесь, что .htaccess и PHP-скрипт находятся по одному пути.

0 голосов
/ 25 мая 2009

Это должно сделать это.

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 работает).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...