Mod_rewrite rules - удалить имя папки - PullRequest
0 голосов
/ 06 февраля 2012

Я должен изменить URL-адреса, чтобы получить рейтинг на SEO. Клиент прислал мне список новых URL (30 наименований). Я новичок в mod_rewrite, но сегодня я начал читать руководства

Client side -> server side

site.com/our-solutions/business.php -> site.com/content/solution/bc.php site.com/our-solutions/internal.php -> site.com/content/solution/ia.php site.com/our-solutions/assess-risk.php -> site.com/content/why/assess.php site.com/our-solutions/erm-risk.php -> site.com/content/why/model.php

1017 * Etc. *

не могли бы вы мне написать правила для этого случая? У меня есть предопределенный список URL-адресов, но вы видите, что я должен удалить содержимое папки с каждого URL-адреса и изменить имя страницы на желаемое

1 Ответ

0 голосов
/ 06 февраля 2012

Вот как должно выглядеть начало:

RewriteRule /our-solutions/business.php /content/solution/bc.php [NC,QSA,L]
RewriteRule /our-solutions/internal.php /content/solution/ia.php [NC,QSA,L]
RewriteRule /our-solutions/assess-risk.php /content/why/assess.php [NC,QSA,L]
RewriteRule /our-solutions/erm-risk.php /content/why/model.php [NC,QSA,L]

Извините, но ваш вопрос звучит очень похоже на "Я не очень хорош, так может кто-нибудь сделать работу за меня?"».Я имею в виду, просто оглянись, ты получишь много ответов, просто испачкаешь руки.


  • Вот вики serverfault.com
  • Официальное руководство по htaccess
  • Официальное руководство по mod_rewrite

И если этого недостаточно:

Два совета:

Если вы не в размещенной среде (= если это ваш собственный сервер и , вы можете измените виртуальные хосты , а не только файлы .htaccess, попробуйте использовать директиву RewriteLog: она поможет вам отследить такие проблемы:

# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On

Мой любимый инструментчтобы проверить регулярное выражение:

http://www.quanetic.com/Regex (не забудьте выбрать ereg (POSIX) вместо preg (PCRE)!)

...