我已经仔细查看了所有其他htaccess url重写问题,但所有问题都与我的问题相反。
我正在处理的网站从WordPress中的子页面获取内容,并将它们显示为父页面上的锚定部分。现在该网站的问题是,如果谷歌(或内置搜索,虽然可能在模板中完成)链接到其中一个子页面,它将引导用户到单个页面而不是父项的正确部分页。
我希望得到一个URL重写模式,它会将URL重新格式化为我需要的内容,但它似乎不起作用......我知道那是因为我做错了!
需要重写的URL类似于:
website.com/parent-page/child-page/
我需要将其重写为:
website.com/parent-page/?subpage=child-page
我最初的看法就是这样,但我知道我误解了如何格式化模式。
RewriteRule ^/$1?subpage=$2 ^/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/$
任何人都可以帮助正确格式化或指出我出错的地方吗?
答案 0 :(得分:1)
RewriteRule ^([^/]+)/([^/]+)/$ /$1/?subpage=$2 [L]
答案 1 :(得分:1)
您可以使用:
RewriteEngine on
# If the request is not for a valid file/directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)/?$ /$1/?subpage=$2 [QSA,L]
首先/
中没有初始htaccess RewriteRule
可选的最终/
答案 2 :(得分:0)
htaccess重写似乎不起作用,所以我创建了一个PHP重定向,而不是通过页面slug,页面父永久链接和将两者混合在一起。
我不希望这是最优雅的解决方案,但它确实有效。