在新的AEM设置中,.html未附加到URL中

时间:2016-02-05 15:27:31

标签: url-rewriting adobe aem

我们是第一次设置AEM,我们面临的问题是网址中没有.html。例如,如果URL应该是

http://dev.alfaromeousa.com/cars/usa/en.html

它实际上是

http://dev.alfaromeousa.com/cars/usa/en/

对于临时解决方案,我们添加了以下重写规则

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} \.(gif|jpe?g|png|js|css|swf|php|ico|txt|pdf|xml)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ - [L]
RewriteCond %{REQUEST_URI} !^.*.html$
RewriteRule ^(.*)$ $1.html [L,R=301] 

但是当URL类似于

时它会失败

http://dev.abc.com/cars/usa/

添加.html。所以URL变成了

http://dev.abc.com/cars/usa/.html

任何人都可以帮我弄清楚我是否错过了设置或做错的事情

1 个答案:

答案 0 :(得分:0)

使用以下重写规则解决了该问题:

RewriteCond %{REQUEST_URI} !^/aemusaerror/(.*) [NC]
RewriteCond %{REQUEST_URI} !^/content/dam(.*) [NC]
RewriteCond %{REQUEST_URI} !^/etc/designs(.*) [NC]
RewriteCond %{REQUEST_URI} !^/vl/(.*)json [NC]
RewriteCond %{REQUEST_URI} !^/timestamp [NC]
RewriteCond %{REQUEST_URI} !(.*)\.[a-zA-Z0-9-]+$
RewriteCond %{REQUEST_URI} !^/renderer/(.*) [NC]
RewriteRule ^(/.*)$ /content/alfausa/en$1.html [P,L]