Перезапись URL - PHP + Apache - PullRequest
       10

Перезапись URL - PHP + Apache

0 голосов
/ 17 июля 2010

Я хочу превратить динамические URL PHP в статические URL. Например, я хочу URL-адреса типа

http://www.example.com/book.php?title=twilight стать http://www.example.com/book/twilight

и http://www.example.com/writer.php?name=meyers, чтобы стать http://www.example.com/writer/meyers

Когда это будет сделано, изменится ли проверка моей формы на сайте?

Мои потребности в переписывании URL могут быть не слишком сложными.

Я разрабатываю его локально, используя XAMPP, Apache и MySql. Позже я выложу это онлайн.

Как мне это сделать? Является ли этот метод переписывания URL наиболее рекомендуемым для SEO?

Ответы [ 3 ]

2 голосов
/ 17 июля 2010

Для этого вы бы использовали mod_rewrite .Если вы немного поищите здесь, вы, вероятно, найдете множество других вопросов о том, как создавать правила mod_rewrite, аналогичные тем, которые вы хотите сделать.

1 голос
/ 17 июля 2010

Вы можете использовать файл .htaccess (или лучше apache.conf) для пересылки всех запросов в index.php с помощью mod_rewrite:

Options +FollowSymLinks
IndexIgnore */*

<ifmodule mod_rewrite.c> 
RewriteEngine on

    # if a directory or a file exists, use it directly
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    # otherwise forward it to index.php
    RewriteRule . index.php
</ifmodule>

Там вы можете использовать $_SERVER['REQUEST_URI'] для интерпретации запроса.

1 голос
/ 17 июля 2010

Да. Вам нужно использовать mod_rewrite. Также выполните поиск файлов .ht_access. Вы можете поместить свои директивы перезаписи в файлы .ht_access и поместить их в любой каталог на вашем сервере, где вы хотите, чтобы они вступили в силу.

Для типа перезаписи, который вы хотите, этот генератор правил должен быть вам полезен:

http://www.generateit.net/mod-rewrite/

И да, URL, который вы пытаетесь получить, является дружественным к SEO.

...