我的 .htaccess 文件需要一些帮助。 我已经搞砸了大约一周但无法让它工作.. 我在网上搜索了解决方案,但没有任何内容能真正解决我的问题。
一般来说,输入:
website.com/info.html?page=12
应显示:website.com/info/12
反之亦然:website.com/info/12
应该服务:website.com/info.html?page=12
。
类似地,没有 QUERY_STRING 部分:
website.com/info.html
应显示:website.com/info
和 website.com/info
应该服务:website.com/info.html
。
但是!
website.com/info/
(仅当后面没有任何内容时)应重定向到:website.com/info
。
我怎样才能实现这个目标? 它应该很简单,但我还无法理解它。 任何提示都非常感谢!
我首先会重定向所有
.html
扩展名,使其不在 URL 中显示。
如果后面有数字,您可以重定向 page=number
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301]
#redirect /number to ?page=number
RewriteRule ^info/([0-9]+)$ /info?page=$1 [L]