RewriteRule与包含哈希的URL不匹配

时间:2018-07-13 11:22:43

标签: apache .htaccess mod-rewrite

此刻我正在努力使用htaccess规则-我对htaccess的了解还很生疏。

我想在内部重写(即不重定向)包含从 http://example.com/resources/3d/35d891df36cc4f08e10915e267ff54e4/index.phphttp://example.com/3d/resources/35d891df36cc4f08e10915e267ff54e4/,以便解决某些旧代码中真正糟糕的实现。我编写了以下规则来进行重定向:

RewriteCond %{REQUEST_URI} ^/resources/3d/([a-zA-Z0-9]+)/index.php$
RewriteRule /3d/resources/$1 [NC]

但是,尽管第一部分匹配,但第二部分却不匹配,而且我看不到哪里出了问题。有人可以指出错误吗?

Htaccess测试器链接here

1 个答案:

答案 0 :(得分:1)

您真的很接近使此功能生效。因此,我进行了两项小更改以使其正常工作:

Marker

RewriteCond %{REQUEST_URI} ^/resources/3d/([a-zA-Z0-9]+)/index.php$ RewriteRule ^ /3d/resources/%1? [NC] 添加到重写规则,并将^更改为$1。您对%1的使用是再次获取资源目录而不是查询,将其更改为$可以解决此问题。我已添加%1来阻止将任何进一步的查询添加到URL的末尾。

测试链接-> Here