此刻我正在努力使用htaccess规则-我对htaccess的了解还很生疏。
我想在内部重写(即不重定向)包含从
http://example.com/resources/3d/35d891df36cc4f08e10915e267ff54e4/index.php
至http://example.com/3d/resources/35d891df36cc4f08e10915e267ff54e4/
,以便解决某些旧代码中真正糟糕的实现。我编写了以下规则来进行重定向:
RewriteCond %{REQUEST_URI} ^/resources/3d/([a-zA-Z0-9]+)/index.php$
RewriteRule /3d/resources/$1 [NC]
但是,尽管第一部分匹配,但第二部分却不匹配,而且我看不到哪里出了问题。有人可以指出错误吗?
Htaccess测试器链接here
答案 0 :(得分:1)
您真的很接近使此功能生效。因此,我进行了两项小更改以使其正常工作:
Marker
将RewriteCond %{REQUEST_URI} ^/resources/3d/([a-zA-Z0-9]+)/index.php$
RewriteRule ^ /3d/resources/%1? [NC]
添加到重写规则,并将^
更改为$1
。您对%1
的使用是再次获取资源目录而不是查询,将其更改为$
可以解决此问题。我已添加%1
来阻止将任何进一步的查询添加到URL的末尾。
测试链接-> Here