Apache重写不存在的URL路径

时间:2019-12-09 11:42:13

标签: apache mod-rewrite

我们当前有一个网址结构如下的网站:

https://www.example.com/en_CA/homepage/page1.html

https://www.example.com/en_CA/homepage/page2.html

我们需要将URL缩短为:

https://www.example.com/page1.html

https://www.example.com/page2.html

我们尝试使用以下重写规则和条件:

RewriteCond %{REQUEST_URI} !^/en_CA/homepage/ [NC]
RewriteRule ^/(.*)$ /en_CA/homepage/$1 [P]

我们遇到的问题是,由于较短的URL不存在,我们得到了404。我认为该解决方案还需要涉及AliasMatch来为该URL设置别名,但是我不确定该如何处理。

我尝试过:

AliasMatch ^/[^/]*/(.*) /en_CA/homepage/$1
RewriteCond %{REQUEST_URI} !^/en_CA/homepage/ [NC]
RewriteRule ^/(.*)$ /en_CA/homepage/$1 [PT]

但这不起作用。

该网站是使用Adobe AEM构建的,因此我们需要确保AEM仅收到长网址。

谢谢

罗素

1 个答案:

答案 0 :(得分:0)

我认为不需要使用d = df.groupby('A')['B'].apply(list).to_dict() print (d) {1: [1, 2], 2: [3, 4, 5]} ,您想从https://www.example.com/en_CA/homepage/page1.html访问URL https://www.example.com/page1.html,而对另一个访问URL。如果我错了,请告诉我。 试试这个,让我知道它是否有效:

  

请仔细阅读注释(#符号后的文字)

AliasMatch

我确信上面的方法会起作用。

将其跟随其他文件。

稍后我将添加一些内容以隐藏包含它的文件夹。