Я пытаюсь сделать другую систему SEO с помощью PHP / .htaccess ...
Мне нужно применить следующие правила:
Может мне помочь какой-нибудь мастер по переписыванию модов?
Редактировать:
Хорошо, прочитав предложенные сообщения, я придумал это, но я думаю, что он застрял в цикле ... Кто-нибудь может помочь?
<IfModule mod_rewrite.c>
RewriteEngine On
# 1
RewriteCond %{REQUEST_FILENAME} !\.[^/]+$ [OR]
# 2
RewriteCond %{REQUEST_FILENAME} \.php.*$
# 4
RewriteRule ^(.*)$ http://localhost/seo-urls/seo-urls-mapper.php%3Frequested=$1?%{QUERY_STRING}
</IfModule>
Поскольку я хочу завершить это во время рождественских каникул, я добавляю награду :) Спасибо за вашу помощь и счастливых праздников!
Попробуйте это в качестве отправной точки:
RewriteEngine On
RewriteCond %{QUERY_STRING} !^uri
RewriteCond %{REQUEST_URI} !\.(.*)
RewriteCond %{REQUEST_URI} !^/(framework|restricted)/
RewriteRule .* /index.php?uri=%{REQUEST_URI} [L,QSA]
RewriteCond %{QUERY_STRING} !^uri
RewriteCond %{REQUEST_URI} \.php.?$
RewriteRule .* /index.php?uri=%{REQUEST_URI} [L,QSA]
Первый набор правил:
uri
Параметр GET установлен (в противном случае вы получите цикл при перенаправлении на целевой скрипт после добавления uri
параметр).
затем пропустите этот набор правил (вы можете создать более конкретное правило для определенных расширений, но это работает)index.php
(вам может потребоваться изменить цель) и установите uri
GET параметрВторой набор правил:
uri
установлен параметр, пропустите этот набор правил, чтобы предотвратить зацикливание.php
, .php4
, или похожие (.php123
бы не быть перенаправленным)index.php
(может потребоваться изменить цель) и установите uri
GET параметрЧтобы собрать правила mod_rewrite, не нужен «мастер» - потратьте некоторое время на собственные эксперименты и прочтите руководство, рекомендованное jscott.
Делать задавайте здесь все свои теоретические вопросы, если вы хотите получить подробные объяснения (в отличие от вопросов практического типа, в которых кажется, что ответчики используют ваш проект краудсорсингом, а не расширяют ваши знания).