UFO*_*UFO 3 php regex apache .htaccess mod-rewrite
Stack Overflow 生成重写 URL,
所以我需要知道如何像 Stack Overflow 一样做到这一点?
http://stackoverflow.com/questions/9168364/how-to-rewrite-seo-friendly-urls-like-stackoverflow => 200 ok.(without trailing slash)
http://stackoverflow.com/questions/9168364/how-to-rewrite-seo-friendly-urls-like-stackoverflow/ => 200 ok.(with trailing slash)
http://stackoverflow.com/questions/9168364/ => 301 redirect.
http://stackoverflow.com/questions/9168364 => 301 redirect.
Run Code Online (Sandbox Code Playgroud)
我怎么能用 mod_rewrite 做到这一点?
我有这样的事情:
RewriteRule ^([0-9]+)[/]([^/]*) ./cat.php?id=$1&title=$2 [L,NC]
mydomain.com/999 => 404 not found.
mydomain.com/999/ => 200 ok.
mydomain.com/999/test => 200 ok.
mydomain.com/999/test/test2 => 200 ok.
mydomain.com/999/test/test2/test3 => 200 ok.
mydomain.com/999/test/test2/test3/test4 => 200 ok.
Run Code Online (Sandbox Code Playgroud)
请让我知道我如何更改 RewriteRule ?
您需要通过使尾部斜杠可选来稍微调整您的正则表达式。使用这个规则:
RewriteRule ^([0-9]+)(?:/([^/]*))?/?$ ./cat.php?id=$1&title=$2 [L,NC]
Run Code Online (Sandbox Code Playgroud)