我想将帖子ID移动到网址中的最后一个位置。像这样:
http://www.mysite.com/news/123-post.html
到
http://www.mysite.com/news/post-123.html
原创htaccess
RewriteRule ^([^.]+)/([0-9]+)-(.*).html$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]
我改为
RewriteRule ^([^.]+)/(.*)-([0-9]+).html$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]
并在浏览器中粘贴新网址http://www.mysite.com/news/post-123.html但不起作用
答案 0 :(得分:0)
您已交换了news id
和seo url
个参数。你必须在你的规则中做同样的事情。
此规则(新规则)
RewriteRule ^([^.]+)/(.*)-([0-9]+).html$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]
应该是这样的
RewriteRule ^([^.]+)/(.*)-([0-9]+).html$ index.php?newsid=$3&seourl=$2&seocat=$1 [L]
$2
现已进入seourl
,$3
现已进入newsid
。否则,您将遇到问题。
此外,您可以通过确保seourl
不包含任何斜杠(/
)来优化您的规则,如果您希望它只在同一个文件夹而不是一个相对的路径
RewriteRule ^([^.]+)/([^/]+)-([0-9]+).html$ index.php?newsid=$3&seourl=$2&seocat=$1 [L]