2

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

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

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

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 中的用户。任何帮助将不胜感激!

4

1 回答 1

0

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

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

这会将请求重定向http://www.mysite.com/analyze/http://www.yourdomain.com/this-is-a-testhttp://www.mysite.com/analyze/yourdomain.com.

于 2012-11-05T18:45:13.803 回答