htaccess防止删除URL模式的文件扩展名

时间:2018-10-08 11:20:28

标签: .htaccess mod-rewrite

我有一个模板重写设置,可以根据提交的url进行重写。

# Remove declared file extensions  
RewriteCond %{REQUEST_METHOD} !(^POST$)
RewriteCond %{THE_REQUEST} \ /+([^\?\ ]+)\.(html|htm|php|asp|aspx)
RewriteRule ^ /%1 [r=301,l]

# rewrite requests for results entry template
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^results/(.*)$ /tpl/results.php?url=$1 [L,QSA]

输出类似于https://website.grader.com上的行为 结果网址https://website.grader.com/results/附有完整的提交网址。

示例:https://website.grader.com/results/https://example-site.com/example-directory/index.html

我发现,如果提交的url包含文件扩展名,则删除文件扩展名的现有规则与模板重写输出会引起冲突。

所以http://test-site.com/results/http://crawled-site/dir/file.html变成http://test-site.com/results/http://crawled-site/dir/file

我可以插入其他重写条件以防止删除模板重定向路径可能存在的扩展名吗?

0 个答案:

没有答案