Перезапись URL .htaccess (разбить одну сущность на две) - PullRequest
0 голосов
/ 26 октября 2011

Перепробовал несколько предложений с этого сайта, поиска в Google и других источников, но безрезультатно.

Я хотел бы иметь правило перезаписи, которое принимает URL-адрес, подобный следующему:

http://somesite.com/abc123

и изменяет его следующим образом:

http://somesite.com/abc/123

abc123 являетсядинамический набор, но всегда будет состоять из (альфа) (числовой) - b256, d1, c3456 и т. д.

Есть ли способ сделать это с помощью .htaccess?Все, что я пытаюсь, просто не работает.

Ответы [ 2 ]

0 голосов
/ 26 октября 2011

У меня были проблемы с этим некоторое время назад..Htaccess не должен создавать его, он просто должен с этим справиться.Я надеюсь, что я прав с этим:)

Это будет обрабатывать это в .htaccess

Rewrite on
RewriteRule ^([^/]*)([^/]*)$ index.php?varone=$1&vartwo=$2 [L]

Но вам нужно, чтобы это было связано на вашей странице таким образом

http://somesite.com/abc/123

Затем вы можете запросить переменные с php

    $varone = htmlspecialchars($_REQUEST["varone"]);
    $varone = preg_replace("/[^A-z]/","", $varone);


    $vartwo = htmlspecialchars($_REQUEST["vartwo"]);
    $vartwo = preg_replace("/[^0-9]/","", $vartwo);
0 голосов
/ 26 октября 2011

Это можно сделать ... довольно легко, если предположить, что вы всегда будете разбивать альфы и числа ... ваш .htaccess скажет:

Rewrite on
RewriteRule ^([A-z]+)([0-9]+)(.*)   $1/$2$3             [QSA,L]

Обратите внимание, что QSA добавляет любыезапрос строки и L останавливает правило здесь.Остальное для хорошей меры ... в случае, если есть что-то вроде /abc123.html, тогда оно станет /abc/123.html

...