расшифровка mod_rewrite символов - PullRequest
0 голосов
/ 17 августа 2011

Я пытаюсь сделать свою первую красивую реализацию URL через mod_rewrite. Просто хочу проверить, нахожусь ли я на правильном пути. Я делаю это через среду разработки.

Я пытаюсь заставить www.cysticlife.dev/Profile.php?id=34 стать www.cysticlife.dev/34/Profile

Будет ли тогда версия регулярного выражения mod_rewrite:

RewriteEngine on
RewriteRule ^/([0-9]+)/?/Profile$ www.cysticlife.dev/Profile.php?id=$1 [L]

Спасибо заранее.

1 Ответ

0 голосов
/ 17 августа 2011
RewriteEngine on
RewriteRule ^/([0-9]+)/Profile/index.html$ /$1/Profile [R=301,L] 
RewriteRule ^/([0-9]+)/Profile/$ /$1/Profile [R=301,L] 
RewriteRule ^/([0-9]+)/Profile$ www.cysticlife.dev/Profile.php?id=$1 [L]

"? /" Не был нужен. Добавленные мной строки содержат как www.cysticlife.dev/34/Profile, www.cysticlife.dev/34/Profile*/*, так и www.cysticlife.dev/34/Profile*/index .html * работа (с перенаправлением «301 постоянно перемещено», поэтому поисковые системы индексируют только один из трех URL).

Sidenote: вам не нужно указывать полный URL для переписывания. Вы можете легко заменить последний на:

RewriteRule ^/([0-9]+)/Profile$ www.cysticlife.dev/Profile.php?id=$1 [L]
...