Несколько динамических SEO / сокращенные URL в PHP - PullRequest
0 голосов
/ 24 июня 2011

У меня есть система PHP, содержащая пользовательские страницы, расположенные в сложной и неоднородной иерархии.Страницы создаются пользователями, а некоторые страницы имеют подстраницы и т. Д.

Меня попросили добавить систему с сокращенным URL-адресом.Таким образом, к любой странице в любой точке иерархии можно получить доступ через domain.com / XXXX , где XXXX может быть чем угодно - здесь мы не заинтересованы в SEO, причина этого в том, чтомультимедийный проект, и мы хотели бы, чтобы наши пользователи могли чирикать / другие URL любой понравившейся страницы.

Я ожидаю что-то вроде;мы начинаем с AAAA и направляемся к ZZZZ при создании каждой страницы.Каждый из этих слагов будет храниться в базе данных вместе с реальным URL-адресом, например domain.com / projects.php? P = 32

Я знаю, что перезапись модов достаточна для преобразования домена.com / XXXX в domain.com / index.php? slug = XXXX , но куда идти, оставляет меня немного озадаченным.index.php может выполнять поиск в базе данных и header () для пользователя по фактическому URL-адресу, но slug-url должен оставаться в адресной строке.

Будет ли использование iframe в index.php ужасной идеей?

Надеюсь, это понятно, спасибо за чтение!

Ответы [ 2 ]

0 голосов
/ 24 июня 2011

Я думаю, что использование iframe - ужасная идея, которая приведет к хрупкому сайту.

Есть ли причина, по которой index.php не может выступать в качестве фронт-контроллера, поэтому вместо того, чтобы просто перенаправитьпоказывает страницу?Вы просто должны иметь возможность include страницы.


В качестве альтернативы, вы не могли бы переписать domain.com/XXXX в domain.com/projects.php?slug=XXXX и выполнить преобразование slug-> p в верхней части projects.php?Тогда для преобразования потребуется просто записать слагы и идентификаторы страниц, а не слагы и полные URL.

0 голосов
/ 24 июня 2011

Если вы использовали директиву [R=301] в конце правила перезаписи .htaccess, она будет действовать как перенаправление. Это означает, что если вы перейдете на domain.com / XXXX , в адресной строке отобразится domain.com / index.php? Slug = XXXX . Это то поведение, которое вы пытаетесь достичь?

Кроме того, я бы не стал использовать header(), я бы сделал вашу индексную страницу страницей обработки. Либо так, либо используйте метод include().

...