[英]Unable to rewrite URL using Apache mod_rewrite in .htaccess
在我网站的主页上,我有一个包含一些链接的指南,每个都重定向到一个家庭指南页面,所有重定向都通过识别指南的每个元素进行,保留为链接
https://example.com/family-guide/?id=4
其中“4”是元素的 ID。
我想这样离开:
https://example.com/family-guide/4
我尝试在.htaccess
文件中使用 mod_rewrite:
RewriteRule ^family-guide/([0-9] +)/([0-9a-zA-Z_-]+) family-guide/?Id=$1name=$2 [NC, L]
但什么也没发生
您的规则有一些空格。 请注意,因为如果标志[NC, L]
之间有空格,则该规则无效。
另一件事是您希望 url https://example.com/family-guide/4
匹配规则,并且您的规则需要两个参数(id 和 name),而在此 url 中只有一个。
我会使用一些规则来代替:
RewriteRule family-guide/([0-9]+)/([0-9a-zA-Z_-]+) family-guide/?id=$1&name=$2 [NC,L]
RewriteRule family-guide/([0-9]+) family-guide/?id=$1 [NC,L]
有了这个规则,如果你去https://example.com/family-guide/4
你应该看到https://example.com/family-guide/?id=4
的内容。 如果你去https://example.com/family-guide/4/whatever
它会向你显示https://example.com/family-guide/?id=4&name=whatever
的内容,这就是我明白你需要。
此外,规则顺序很重要,就好像它们的顺序相反https://example.com/family-guide/4/whatever
将匹配其他规则并显示https://example.com/family-guide/?id=4/whatever
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.