国防部重写的URL,如 “http://miniqr.com/http://www.anyurl.com/”(没有错误)
确定,基本上国防部重写的URL,如 “http://miniqr.com/http://www.anyurl.com/”(没有错误)
(无错字)
应该叫
http://miniqr.com/api/create.php?content=http://www.anyurl.com/
实现这一目标,我有这个根的.htaccess
重写规则^ HTTP:\/\ /(。*)$ \/API \ /create.php \含量= HTTP:\/\/$ 1 [L]
重写规则^ HTTPS:(。*)?\/\/$ \/API \ /create.php \含量= HTTPS:\/\/$ 1 [L]
悲哀的是,它曾经工作过,那么服务器进行了更新,现在它不工作
任何人知道为什么吗? (或不知道另一种方式来做到这一点),帮助将是真棒
我的.htaccess差不多这个样子的:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^miniqr\.com$ [NC]
RewriteRule ^(.*)$ http://miniqr.com/$1 [L,R=301]
RewriteRule ^(^$|index\.php|robots\.txt|docs|reader\/) - [L]
RewriteRule ^http:\/\/(.*)$ \/api\/create\.php\?content=http:\/\/$1 [L]
RewriteRule ^https:\/\/(.*)$ \/api\/create\.php\?content=https:\/\/$1 [L]
在RewriteRule
看到它之前,URL路径被标准化,特别是,//
被/
替代。你应该申请您的规则到原来的请求,而不是像这样:
RewriteCond %{REQUEST_URI} ^/(https?:.*)
RewriteRule^/api/create.php?content=%1 [L]
%1
是指由RewriteCond
完成了比赛。 %{REQUEST_URI}
是在HTTP请求的第一行的实际查询。
可替代地,是不太严格的,并接受方案之后的单个/
以及//
,由于路径可能由用户代理或代理通过类似地归一化。
不要将此引入重定向循环?:
RewriteCond %{HTTP_HOST} !^miniqr\.com$ [NC]
RewriteRule ^(.*)$ http://miniqr.com/$1 [L,R=301]
你想用它达到什么目的?
http://www.miniqr.com/.* - > HTTP 301 - > http://miniqr.com/.*和它似乎工作 – 2011-03-01 14:56:46
评论CMS搞砸了上述评论... WWW。 miniqr.com - > HTTP 301 - > miniqr.com – 2011-03-01 15:08:50
尝试的第一个方法,非常完美,将看到有关其他。多谢 – 2011-03-01 15:07:29