Apache Htaccess重写URL错误

Apache Htaccess重写URL错误,apache,.htaccess,mod-rewrite,url-rewriting,url-redirection,Apache,.htaccess,Mod Rewrite,Url Rewriting,Url Redirection,我想在Apache服务器中使用mod_rewrite重写URL 具体来说,我想将以下格式的URL-mywebsite.com/web/ger/int/sb/index.html重写为mywebsite.com/gerintsb/ 在上述URL的情况下,ger、int、sb被附加在一起以形成较短的URL。我有许多这样的网址要缩短 我在服务器“web”文件夹中的.htaccess文件中使用了以下重写规则- RewriteRule ^([a-z]+)([a-z]+)([a-z]+)$ web/$

我想在Apache服务器中使用mod_rewrite重写URL

具体来说,我想将以下格式的URL-mywebsite.com/web/ger/int/sb/index.html重写为mywebsite.com/gerintsb/

在上述URL的情况下,ger、int、sb被附加在一起以形成较短的URL。我有许多这样的网址要缩短

我在服务器“web”文件夹中的.htaccess文件中使用了以下重写规则-

RewriteRule ^([a-z]+)([a-z]+)([a-z]+)$    web/$1/$2/$3/index.html    [NC,L]
但我的规则不起作用。我得到一个找不到的对象错误


有人能排除故障吗

[a-z]+
是贪婪的。它将消耗整个字符串。后两个捕获组不会捕获任何内容。如果斜杠位于路径的末尾,则您的规则将不匹配

只有知道路径段的可能值,或者路径段具有固定宽度时,才能执行此操作:

RewriteRule ^(ger|fr)(int|float)(sb|mp|rt)/?$ web/$1/$2/$3/index.html [L]
或:


你想只重写这个URL还是你有很多这样的URL?我有很多这样的URL。例如web/fr/int/mp、web/ger/int/rt。。。等等。我编辑了我的问题,让它更清楚:)这是我能找到的最接近的。我会回答这个问题,但我也有疑问。当我使用这些mod_重写我所有的CSS链接时,如果我使用的是相对链接,图像等就会中断。所以我不得不在我的登陆页面中将相对链接改为绝对链接。你知道如何克服它吗?请看,尤其是。
RewriteRule ^([a-z]{3})([a-z]{3})([a-z]{2})/?$ web/$1/$2/$3/index.html [L]