【发布时间】:2010-01-05 13:11:45
【问题描述】:
当我输入这个 "http://example.com/Hello%20There/" 时,它会显示 索引页是:“http://example.com/Hello%20There/index.html”。
好吧,我想做的是当用户输入“http://example.com/Hello%20There”时 (所以和第一个一样,只是它没有尾部斜杠)。
我尝试了很多东西,特别是正则表达式,但没有任何效果,因为我认为 服务器在找到空格(URL 中的“%20”)时停止 reg exp 进程。
我试过这个正则表达式:
Options +FollowSymLinks
rewriteEngine On rewriteCond %{REQUEST_URI} ^(.*)\ (.*html)$
rewriteRule ^.*$ %1-%2 [E=space_replacer:%1-%2]
rewriteCond %{ENV:space_replacer}!^$
rewriteCond %{ENV:space_replacer}!^.*\ .*$
rewriteRule ^.*$ %{ENV:space_replacer} [R=301,L]
也放:
DirectorySlash On
在 Apache 的“mod_dir”模块中。
所以,我的问题是: - 当用户输入一个 url 时如何告诉服务器添加一个斜杠 没有尾部斜杠;$
【问题讨论】:
标签: apache mod-rewrite