我有四种不同类型的重写,我试图在每个重写中使用多个参数。
首先是没有修改的网址:
http://www.example.com/index.php?p=/category/page-slug&pn=2/
http://www.example.com/index.php?p=/category/&f=feed/rss (feed, feed/, feed/rss, feed/atom are the only possible values for the f parameter)
http://www.example.com/index.php?p=tag&t=tag-one+tag-two+-tag-three&pn=2/
http://www.example.com/index.php?p=search&q=search+query+goes+here&pn=2/
Run Code Online (Sandbox Code Playgroud)
接下来,我希望能够在浏览器中输入:
http://www.example.com/category/page-slug/2/
http://www.example.com/category/feed/rss
http://www.example.com/tags/tag-one+tag-two+-tag-three/2/
http://www.example.com/search/search+query+goes+here/2/
Run Code Online (Sandbox Code Playgroud)
最后,我尝试过的,以及无数的变化:
RewriteRule ^([a-zA-Z0-9-/+]+)([0-9]+)$ index.php?p=/$1&pn=$2/ [L]
RewriteRule ^([a-zA-Z0-9-/+]+)([a-zA-Z/]+)$ index.php?p=/$1&f=$2/ [L]
RewriteRule ^([a-zA-Z0-9-/+]+)([a-zA-Z/]+)([0-9]+)$ index.php?p=/$1&t=$2&pn=$3/ [L]
RewriteRule ^([a-zA-Z0-9-/+]+)([a-zA-Z/]+)([0-9]+)$ index.php?p=/$1&q=$2&pn=$3/ [L]
Run Code Online (Sandbox Code Playgroud)
我可以使用以下方法很好地处理 p 参数:
RewriteRule ^([a-zA-Z0-9-/+]+)$ index.php?p=/$1 [L]
Run Code Online (Sandbox Code Playgroud)
然而,其他一切都完全脱离了我。我觉得我已经很接近了,但这令人非常沮丧,因为我不知道有什么方法可以缩小问题的范围。它要么有效,要么无效。提前致谢。
前言:我们希望直接使用我们的服务器创建网站截图并停止使用外部服务。Chromium 浏览器可以选择从网站生成 PNG 图形。因此,我们想要使用它。
我们在服务器上安装了 Chromium:
sudo apt-get update
sudo apt-get install chromium-browser
Run Code Online (Sandbox Code Playgroud)
然后我们尝试运行浏览器并得到以下错误:
chromium-browser --no-sandbox
/usr/bin/chromium-browser: 12: xdg-settings: not found
Trace/breakpoint trap
Run Code Online (Sandbox Code Playgroud)
Chromium 浏览器版本:
chromium-browser --version
/usr/bin/chromium-browser: 12: xdg-settings: not found
Chromium 97.0.4692.99 snap
Run Code Online (Sandbox Code Playgroud)
尝试查找有关“xdg-settings”的更多信息:
xdg-settings 仅适用于桌面会话内。不建议以 root 身份使用 xdg-settings。
如何修复错误并使 Chromium 运行?
注 1:运行时xdg-settings我们得到-bash: xdg-settings: command not found. 可能是因为服务器上没有桌面会话。
注2:Ubuntu版本为“Ubuntu 20.04.3 LTS”。