我想重写post.php?id = 1& title = test to post / 1 / test
我有这段代码:
RewriteRule ^post/([^/]+)/([^/]+)/?$ post.php?id=$1&title=$2 [L,QSA]
这只适用于我在我的php文件中重命名post.php链接到/ post。我想重写网址,以便我不需要编辑任何链接。
类似于以下内容:
RewriteCond %{THE_REQUEST} \s/+(post)\.php[?/\s] [NC]
RewriteRule ^ %1 [R=301,L]
RewriteRule ^(post)/?$ $1.php [L]
答案 0 :(得分:1)
您可以使用:
# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} \s/+post\.php\?id=([^&]+)&title=([^\s&]+) [NC]
RewriteRule ^ /post/%1/%2? [R=301,L,NE]
# internal forward from pretty URL to actual one
RewriteRule ^post/([^/]+)/([^/]+)/?$ post.php?id=$1&title=$2 [L,QSA,NC]
但说“我不需要编辑任何链接”是错误的。因为它是一种纠正已引用的旧链接的方法,所以不会阻止您更改页面中的代码。因为HTML代码仍然包含错误的链接......