我没有问题,我不确定如何解决。我正在使用htaccess文件将我的URL重写为更短的链接。例如,我正在使用此规则:
RewriteEngine On
RewriteRule ^client/(.*)/?$ pages/client.php?action=$1 [L,QSA]
但是我也希望将第二个参数传递给该URL,所以我做了这个:
RewriteRule ^client/(.*)/(.*)/?$ pages/client.php?action=$1&view=$2 [L,QSA]
所以我可以访问以下网址:
/client/action_1/view_2
没有任何问题,但是当我跳过第二个参数并且只访问了:
/client/action_1/
然后它是impossilbe并导致404。
如何更改RewriteRule以便我可以同时访问:
/client/action_1/view_2
/client/action_1/
它将重写为:
pages/client.php?action=$1&view=$2
答案 0 :(得分:0)
您可以有2个单独的规则来处理2个干净的网址:
RewriteEngine On
RewriteRule ^client/([^/]+)/?$ pages/client.php?action=$1 [L,QSA,NC]
RewriteRule ^client/([^/]+)/([^/]+)/?$ pages/client.php?action=$1&view=$2 [L,QSA,NC]