我们有一个网站,其中内容由CMS生成。问题在于人们在没有http://
的情况下向其网站添加链接,因此所有链接都以错误的方式生成。htaccess根据网址中的字符串重定向到域
为如:http://www.example.com/ec/shefaliaxena/eventupdate/www.shefalisaxena.com
我想要做的是最后一个斜线后得到的数据,并检查它是否是使用正则表达式有效的域,如果它是有效的域,然后将它重定向到该域或其他什么都不做。
我能够使用正则表达式([^/]+$
)在最后一个斜杠后提取数据,但想知道如何实现此重定向。
我可以很容易地做到这一点与编码,但我想从.htaccess
文件本身,以便它不会增加服务器的负担。
你试过这个明显吗? 'RewriteRule([^ /] +)$ http:// $ 1/[L,NC,R = 301]' –
感谢您的评论,我确实尝试过,但此规则重定向了所有请求,我只想仅重定向这些请求在最后一个斜杠之后,如果有一个有效的域。如果它不是一个有效的域名,那么它应该简单地前进,不应该做任何事情。 – Raees
您需要确定使用哪些类型的域以便为其创建良好的表达式。也就是说,你如何在浏览器中输出网站的URL?你总是可以做某种检查来查看'http://'是否存在,如果不存在,在显示页面上的URL之前添加它。这样做可能是最好的,因为你根本不需要重定向。 –