PHP $ _GET [] Mod Rewrite - PullRequest
       7

PHP $ _GET [] Mod Rewrite

1 голос
/ 16 августа 2011

Я создал сайт, и ссылки на страницы формируются так: ?page=projects_project1.Я хочу, чтобы страницы были также доступны таким образом: projects/project1.Таким образом, ?page= должен быть удален, а _ должен быть заменен на / ... Так что то, к чему теперь обращаются с помощью ?page=projects_project1, должно стать доступным в projects/project1 ...Что мне нужно добавить в мой файл .htaccess, чтобы добиться этого?Пожалуйста, объясните, как это делается, чтобы я мог сделать это сам в следующий раз.

1 Ответ

1 голос
/ 16 августа 2011

Попробуйте это:

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([^/]+)/([a-z0-9_]+)$ index.php?page=$1_$2 [NC,L]

Первая строка говорит, что она должна следовать за символическими ссылками, которые могут существовать, вторая строка фактически включает RewriteEngine, а третья соответствует ссылкам, которые выглядят какследующее:

anything_except_a_forward_slash/anything_here_that_is_an_alphanumeric_or_forward_slash

...