mod_rewrite для преобразования старого URL-адреса запроса в новый - PullRequest
0 голосов
/ 07 июля 2010

.hello - мне нужно преобразовать старые URL-запросы, чтобы они вписывались в контент новых сайтов;

т.е. «art-consultancy» раньше был «консультацией», так как я могу получить URL-адреса «консультантов» и преобразовать их?их в «art-consultancy»

МОЕ ПРАВИЛО, если ^ consultancy $ MAKE ^ art-consultancy $ и продолжайте следовать правилам ниже ...

RewriteRule ^art-consultancy$ consultancy-02.php [L]
RewriteRule ^art-consultancy/$ consultancy-02.php [L]

RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)$ consultancy-02.php?section=$1 [L]
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/$ consultancy-02.php?section=$1 [L]
#
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)$ article-01.php [L]
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/$ article-01.php [L]

любая помощь приветствуется!

пс.Попробовал Redirect / консалтинг / арт-консалтинг без удачи.Думаешь, этот метод нуждается в реальном файле?

лучше всего, Dc

1 Ответ

1 голос
/ 08 июля 2010

Вы просто должны делать именно то, что, как вы сказали, вы хотели сделать, аналогично тому, как вы это делали с другими правилами, поэтому я не уверен, насколько это квалифицируется как «ответ»... Но ради полноты я пойду дальше и напишу полностью:

(Кроме того, я сжал ваши другие правила в одну строку)

# Add in this condition because consultancy-02.php matches here too
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^consultancy(.*)$ art-consultancy$1

RewriteRule ^art-consultancy/?$ consultancy-02.php [L]
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/?$ consultancy-02.php?section=$1 [L]
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ article-01.php [L]

Если вы хотите, чтобы consultancy было преобразовано в art-consultancy в URL-адресе браузера пользователя, вам следует заменить первое RewriteRule следующим:

RewriteRule ^consultancy(.*)$ /art-consultancy$1 [R=301,L]

Я не совсем уверен, почему Redirectне сработало так, как вы ожидали.Если вы посмотрите на error_log вашего сервера, это может сказать вам, но в противном случае трудно предположить, не зная, как выглядит структура каталогов вашего сайта.

...