我们有一个从CMS生成内容的网站。问题是人们在没有 $stmt->execute();
$message=$stmt->fetch();
的情况下添加了指向其网站的链接,因此所有链接都以错误的方式生成。
例如:http://www.example.com/ec/shefaliaxena/eventupdate/www.shefalisaxena.com
我想要做的是在最后一次删除后获取数据,并使用正则表达式检查它是否是有效域,如果它是有效域,则将其重定向到该域,否则什么都不做。
我能够使用正则表达式(http://
)在最后一次斜杠后提取数据,但想知道如何实现此重定向。
我可以通过编码轻松完成此操作,但我想从[^/]+$
文件本身处理此问题,这样就不会增加服务器的负担。
答案 0 :(得分:0)
尝试执行此操作可能遇到的一个问题是,有效的文件名通常看起来很像有效的域名,所以在尝试之前,您需要确保看起来像域名的内容不是有效文件。转发网址:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule /(([A-Za-z0-9-]+\.)+[A-Za-z]{2,6})$ http://$1/ [L,NC,R=301]
如果您从用户输入的数据生成URL,我肯定会考虑在那里添加协议而不是这样做。