我有一个带有查询的URL,它的查询之一可能未设置。目标网址:
domain.com/category.php
URL查询:
1. c = any character in UTF-8 [It is required]
2. page = number [It is not required and maybe not set]
现在,如何更改.htaccess中的URL:
从domain.com/category.php?c=anyCharacter
到domain.com/category/anyCharacter/
从domain.com/category.php?c=anyCharacter&page=number
到domain.com/category/anyCharacter/page:number/
更新:
我找到了答案,但还不完整。
RewriteRule ^category/(.*)/$ category.php?c=$1 [QSA,L]
这将更改URL:
从domain.com/category/anyCharacter/
到domain.com/category.php?c=anyCharacter
从domain.com/category/anyCharacter/?page=number
到domain.com/category.php?c=anyCharacter&page=number
但这不是一个好的答案,因为我不希望任何用户在我的URL中看到查询。请不要再写我的答案。
为此,您将需要2条重写规则:
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^category/([^/]+)/?$ category.php?c=$1 [QSA,L,NC]
RewriteRule ^category/([^/]+)/page:(\d+)/?$ category.php?c=$1&page=$2 [QSA,L,NC]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句