一个非常奇怪的问题。我有一些.htaccess 301重定向不工作和一些工作。它们在同一个文件里,在同一个服务器上。
下面是一个有效的方法:
RewriteRule ^Email-2 Email-2.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*Email-2\.php\ HTTP/
RewriteRule ^(([^/]+/)*)Email-2\.php$ http://www.myserver.com/myfolder/Email-2$1 [R=301,L]这里有一个不起作用..。
RewriteRule ^finance-step2 finance-step2.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*finance-step2\.php\ HTTP/
RewriteRule ^(([^/]+/)*)finance-step2\.php$ http://www.myserver.com/myfolder/finance-step2$1 [R=301,L]我有这些重定向的30+,唯一不起作用的似乎是-step2,-step3,等等,所有其他的都有。
我在Firefox中使用了Live HTTP头文件,看起来Apache根本不会发送301代码给那些不能工作的代码,但它会发送301代码给那些工作正常的代码。
我精通.htaccess和正则表达式,但这一点把我难住了。有什么想法吗?
发布于 2011-11-21 17:20:00
我可以请您做一些优化吗?比如:RewriteCond末尾的HTTP/是什么?我已经删除了它:
RewriteRule ^(Email-2|finance-step2) $1.php [QSA]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*(Email-2|finance-step2)\.php
RewriteRule ^(([^/]+/)*)(Email-2|finance-step2)\.php$ http://www.myserver.com/myfolder/$2$1 [R=301,QSA,L]有一件事非常奇怪:首先将aa重定向到aa.php,然后将aa.php重定向到http://www.myserver.com/myfolder/aa。那么添加.php的意义是什么呢?
请告诉我这是否有效
https://stackoverflow.com/questions/8190344
复制相似问题