【发布时间】:2021-03-20 00:29:54
【问题描述】:
我有这样的链接
http://panel.domain.com/users/index.php?user=8http://panel.domain.com/users/settings/index.php?user=8
我想把它们改写成这样:
http://panel.domain.com/users/8/http://panel.domain.com/users/8/settings
我希望它在用户ID之后取任何东西并将其放在用户之后,然后转到该页面的index.php并将用户ID放在最后,如下所示:users/USERID/chain/of/directories/index.php?user=USERID
我可以用这个进行第一次重写:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?user=$1
我试过做这样的事情
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^users/(.*)/$ $2/index.php?user=$1
$2 是第一个,因为它应该是 users/ID/ 之后的所有内容,然后 $1 应该是 /ID/,它被放置在目录链的末尾:users/ID/settings/index.php?user=ID
但我真的不知道它是如何工作的。我不知道是什么让$1 和$2 工作,而且我不懂正则表达式。我整晚都在看珍珠文档,只是想把东西拼凑起来,但我就是不明白。
【问题讨论】:
标签: apache .htaccess mod-rewrite url-rewriting friendly-url