我甚至不确定这是否可行,但一直在寻找解决方案。我的网站生成有关域名的动态信息,人们可以按以下格式查看其信息:
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中的用户。任何帮助将不胜感激!
答案 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
。