mod_rewrite的新手。我只是想做这样的事情:
# Turn on the rewriting engine
RewriteEngine On
# use item php page to show the item
RewriteRule ^parts/./[.]$ parts/item.php?id=$1 [NC]
因此,当某人在example.com/parts/anything/anything中输入内容时,该网址将转到
example.com/parts/item.php?id=the2ndanything
根据我的理解,这个时期意味着任何角色。此外,我试图在句点之后添加一个+(这应该意味着什么),但是仍然没有用。
顺便说一下,我在一个临时URL上,因为我还没有更改我以前的网络主机,因此我的实际完整网址中有一个〜。我希望这不是mod_rewriting的问题,因此是阻止它工作的问题。 .htaccess文件位于根网站的index.html。答案 0 :(得分:6)
.
表示任何字符,但您必须按+
(一个或多个)或*
(零或更多)跟随它必须在()
中捕获它才能用作$1
。使用[^/]+
匹配所有字符(但不包括/
)以匹配但不捕获parts/
之后的第一个目录。
RewriteEngine On
# (.*) captures the second "anything" in $1
RewriteRule ^parts/[^/]+/(.*)$ parts/item.php?id=$1 [L]