Регулярное выражение для переписывания мод через HTACCESS - PullRequest
0 голосов
/ 11 апреля 2011

Мне нужно регулярное выражение, которое я могу использовать в файле HTACCESS для перезаписи:

http://www.sample.com/dir/1-2-3.php

1 = только строчные буквы, без ограничения на количество

2 = буквенно-цифровой (только строчные буквы) и тире, неограниченное количество символов

3 = буквенно-цифровой (только прописные буквы), неограниченное количество символов

(ПРИМЕЧАНИЕ. Тире между 1, 2, 3 являются преднамеренными и будут присутствовать в URL)

до

http://www.sample.com/dir/sub/page.php?v=ABC12345

Где ABC12345 - № 3исходный URL.

Ответы [ 2 ]

0 голосов
/ 11 апреля 2011

Попробуйте это правило в вашем .htaccess:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^dir/([a-z]*)-([a-z0-9-]*)-([A-Z0-9]*)\.php$ /dir/sub/page.php?v=$3 [R=301,L,NE,QSA]

R=301 will redirect with https status 301
L will make last rule
NE is for no escaping query string
QSA flag will make sure to append existing query parameter with additional query parameters

$3 is 3rd capture group in your REQUEST_URI
0 голосов
/ 11 апреля 2011

Если я правильно понимаю, следующее должно работать.

RewriteEngine On
RewriteRule ^([a-z]*)-([a-z0-9-]*)-([A-Z0-9]*)\.php /$1/$2.php?v=$3 [L]

Надеюсь, это поможет.

...