htaccess URL重写模式格式

时间:2015-10-13 12:53:42

标签: .htaccess mod-rewrite

我已经仔细查看了所有其他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-]+)/$

任何人都可以帮助正确格式化或指出我出错的地方吗?

3 个答案:

答案 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,页面父永久链接和将两者混合在一起。

我不希望这是最优雅的解决方案,但它确实有效。