url 在 php 中重写以更改帖子 url

url rewrite in php for change posts url

我想要零钱url:

http://example.com/posts.php?action=view&id="a number"

http://example.com/posts/"a number"

我将这些写入 .htaccess 文件,但它们不起作用:

RewriteEngine On
RewriteRule    ^posts/([0-9]+)/?$    posts.php?action=view&id=    [NC,L]
RewriteRule    ^posts/?$    posts.php    [NC,L]

您可以在您的 .htaccess 文件中尝试以下操作

.htaccess 文件代码:

RewriteEngine On
RewriteRule   ^posts/([0-9]+)   /posts.php?action=view&id=    [QSA,L]

QSA 表示如果有一个查询字符串与原始 URL 一起传递,它将被附加到重写中。

L 表示如果规则匹配,不再处理下面的 RewriteRules

会是这样的:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET\ /(posts)\.php\?action=view&id=(\d+) [NC]
RewriteRule ^posts\.php$ /%1/%2? [R=301,L,NC]

RewriteCond %{THE_REQUEST} ^GET\ /(posts)\.php\ HTTP [NC]
RewriteRule ^posts\.php$ /%1/? [R=301,L,NC]

RewriteRule ^(posts)/(\d+)/?$ /.php?action=view&id= [L]
RewriteRule ^(posts)/?$ /.php [L]