将 url 从 art.php?id=51 美化到 art/51

问题描述

想要美化一个来自:
的网址 https://abuena.net/art.PHP?id=51

https://abuena.net/art/51

这是我的尝试,没有成功,只是被忽略

RewriteEngine on
RewriteRule ^([a-zA-Z0-9_]+)$ /$1/ [R]
RewriteRule ^([a-zA-Z0-9_]+)/$ /art.PHP?id=$1

我的托管服务提供商说我的服务器不是 Apache,而是 LSWS - LiteSpeed WebServer - 这可能是我的语法问题。

有什么帮助吗?

解决方法

您可以尝试以下操作吗?考虑到您需要在浏览器中点击 https://abuena.net/art/51 之类的网址。在测试您的网址之前,请务必清除浏览器缓存。

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/(.*)/?$ $1.php?id=$2


编辑:如果您在浏览器中点击 https://abuena.net/art.php?id=51 这样的 URL,请尝试跟随一次。

RewriteEngine ON
RewriteCond %{REQUEST_URI} \s/([^.]*)\.php\?id=(\d+)\s [NC]
RewriteRule ^ http://%{HTTP_HOST}/%1/%2 [R=301]
RewriteRule ^([^/]*)/(.*)/?$ $1.php?id=$2 [L]