我已经决定抛弃Wordpress并转而转向Pico CMS。
现在我正在努力正确地完成URL重写。
我设法从例如重写查询字符串。使用https://www.example.org?page
https://www.example.org/page
到RewriteRule ^(.*) ?$1 [L]
,但现在我还希望在 查询字符串时重写它。
示例:
如果请求https://www.example.org?page
,则加载得很好,但我希望将其重写为https://www.example.org/page
- 至少在位置栏中。
我尝试了几种变化,但无济于事。我吮吸正则表达式......
RewriteCond %{QUERY_STRING} !^$
RewriteRule ^\\?/(.*)$ $1
都能跟得上
RewriteRule (^\?$) https://tanghus.net/$1 [NC,R=301,L]
RewriteRule ^.*$ https://tanghus.net/? [NC,R=301,L]
没有骰子
RewriteCond %{QUERY_STRING} .
RewriteRule ^$ %{QUERY_STRING} [R,L]
Pfff
RewriteCond %{THE_REQUEST} \?\sHTTP [NC]
RewriteRule ^ %{REQUEST_URI} [L,R]
放弃:(
答案 0 :(得分:2)
您可以使用此规则
RewriteEngine on
# externally redirect from /?page to /page
RewriteCond %{THE_REQUEST} /\?([^\s]+) [NC]
RewriteRule ^/?$ /%1? [L,R]
# internally map /page to /?page
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/?(.+)$ /?$1 [L]