PHP文件迁移到GoDaddy Windows主机,内部链接停止工作

时间:2014-02-23 19:08:10

标签: php url-rewrite-module windows-hosting

我的网站是用PHP编写的,在Windows 2003服务器上。最近我把它们移到了GoDaddy的Windows Hosting帐户。之前的开发人员在.htaccess中编写了URL-Rewrite规则,该规则不适用于新服务器。网站上的所有链接都显示了GoDaddy的404页面。

以下是现有htaccess文件的内容:

   # Helicon ISAPI_Rewrite configuration file
   # Version 3.1.0.64
   # AddHandler x-httpd-php5-3 .php
   RewriteEngine on

   RewriteCond %{HTTPS} (on)? 
   RewriteCond %{HTTP:Host} ^www\.(.+)$ [NC] 
   RewriteCond %{REQUEST_URI} (.+) 
   RewriteRule .? http(?%1s)://%2%3 [R=301] 


   # RewriteRule ^(.*?\.asp)/([^/]*)/([^/]*)(/.+)? $1$4?$2=$3 [NC,LP,QSA]

   # RewriteRule ^(.*?\.asp)/([^/]*)/([^/]*)(/.+)? $1$4?$2=$3 [NC,LP,QSA]
   # RewriteRule ^(.*?)/(.*?)/([^/]*)/([^/]*)(/.+)? $2.asp$5?$3=$4 [NC,LP,QSA]
   RewriteRule ^(?!.*(?:admin|blog|images|tinymce|dablog)/)(.*?)/(.*?)/([^/]*)/([^/]*)(/.+)?       $2.php$7?mmid=$3&cmid=$4 [NC,LP,QSA]

2 个答案:

答案 0 :(得分:0)

我想说的是,您很可能没有设置httpd.conf文件以允许通过Apache服务器重写引擎。 要更改此设置,请找到

所在的行
LoadModule #rewrite_module modules/mod_rewrite.so

删除#

删除评论

LoadModule rewrite_module modules/mod_rewrite.so

这可能不是整个问题,有更多的可能性,希望就是这样。如果没有,您可能想尝试添加自定义错误文件或启用调试,然后联系GoDaddy,如果这些都不起作用。

答案 1 :(得分:0)

GoDaddy不支持ISAPI_Rewrite。此外,您应该检查什么是Windows服务器,如果它是2008或2012,那么您应该使用URL重写模块创建新的URL重写规则 - http://www.iis.net/learn/extensions/url-rewrite-module。这意味着您应该重新创建重写规则。