使用 mod_rewrite,我如何转换遵循此模式的 URL:
http://example.com/index.php?id=14
进入这个模式:
http://example.com/14/
最佳答案
因为我认为您更想将请求重写为 /<ID>/
内部到/index.php?id=<ID>
,试试这个:
RewriteRule ^(\d+)/$ index.php?id=$1
但是如果你真的想将请求重定向到 /index.php?id=<ID>
内部到/<ID>/
:
RewriteCond %{QUERY_STRING} (^|&)id=(\d+)(&|$)
RewriteRule ^index\.php$ /%2/? [R]
如果您想保留可能的其他 URL 参数:
RewriteCond %{QUERY_STRING} ^(([^&]*&+)*)id=(\d+)(&+(.*))?$
RewriteRule ^index\.php$ /%3/?%2%5 [R]
关于apache - .htaccess 和 mod_rewrite 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2260440/