我正在通过mod_rewrite尝试我的第一个漂亮的url实现。只是想检查一下我是否走在正确的轨道上。我是通过开发环境来做的。
我正试图让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]
提前致谢。
答案 0 :(得分:0)
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“永久移动”重定向,因此搜索引擎仅对三个网址中的一个进行索引)。
旁注:您无需为重写指定完整的网址。您可以使用以下命令轻松替换最后一个:
RewriteRule ^/([0-9]+)/Profile$ www.cysticlife.dev/Profile.php?id=$1 [L]