使用htaccess从URL中删除域名

时间:2012-11-05 16:03:54

标签: .htaccess mod-rewrite

我甚至不确定这是否可行,但一直在寻找解决方案。我的网站生成有关域名的动态信息,人们可以按以下格式查看其信息:

http://www.mysite.com/analyze/yourdomain.com

问题是有时候人们会输入http://或www甚至是完整的网址而不是他们的域名,例如:

http://www.mysite.com/analyze/http://www.yourdomain.com/this-is-a-test

我想用htaccess做的是获取域名并将其重定向到正确的URL,就像列出的第一个一样。

这是我目前为我的htaccess所做的事情:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.com$
RewriteCond %{REQUEST_URI} !\.(xml|txt)$
RewriteRule ^(.*)$ http://www.mysite.com/review/$1 [R=301,L]

Options -MultiViews +FollowSymlinks -Indexes

RewriteEngine on
RewriteCond %{REQUEST_URI} !\.(xml|txt)$
RewriteRule ^([a-zA-Z0-9\.\-]+)$ review.php?site=$1 [L,QSA]

我遇到的主要问题是我发现的关于剥离/重定向域的每个教程都适用于我的实际域名,而不是URL中的用户。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

尝试在第一条规则下方添加(301重定向):

RewriteRule ^analyze/http:/+([^/]+)/? /analyze/$1 [L,R=301]

这会将http://www.mysite.com/analyze/http://www.yourdomain.com/this-is-a-test之类的请求重定向到http://www.mysite.com/analyze/yourdomain.com