Php 为什么我的.htaccess重写规则在DreamHost上运行良好,但在GoDaddy上产生内部服务器错误?
我有一条重写规则:Php 为什么我的.htaccess重写规则在DreamHost上运行良好,但在GoDaddy上产生内部服务器错误?,php,.htaccess,mod-rewrite,Php,.htaccess,Mod Rewrite,我有一条重写规则: RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-//]+)$ index.php?go=$1&extras=$2 [L] #/dashboard/test/1/2/3/4 converts to $_GET['go'] = 'dashboard' and $_GET['extras'] = 'test/1/2/3/4' 我在DreamHost服务器上运行得很好,但当我将我的应用程序转移到GoDaddy服务器时,它会产生500个内
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-//]+)$ index.php?go=$1&extras=$2 [L]
#/dashboard/test/1/2/3/4 converts to $_GET['go'] = 'dashboard' and $_GET['extras'] = 'test/1/2/3/4'
我在DreamHost服务器上运行得很好,但当我将我的应用程序转移到GoDaddy服务器时,它会产生500个内部服务器错误。GoDaddy上的服务器可能没有启用mod_rewrite 将其放入
.htaccess
文件中,然后删除所有其他内容:
RewriteEngine On
如果禁用mod_rewrite,您仍然会收到500服务器错误…请尝试在.htaccess文件中写入以下代码。我相信它会成功的
Options FollowSymLinks
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-//]+)$ index.php?go=$1&extras=$2 [L]
#RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-//]+)$ index.php?go=$1&extras=$2 [PT,L,QSA]
让我知道它是否对你有用。谢谢…可能是因为默认情况下它是禁用的?禁用是什么意思?我在GoDaddy RewriteRule^([A-Za-z0-9-])上得到了这段代码/?$index.php?go=$1,但不是我需要的代码。如果它工作正常,请检查日志,看看上面的代码是怎么回事,这将有助于您修复它。我将它放在我的上面。htaccess Options+FollowSymLinks Options+index RewriteEngine on RewriteBase/尝试跳过此
/
将成为\/
的样子这:([A-Za-z0-9-\/]+)
我很确定mod\u rewrite是启用的,因为我让这段代码运行了RewriteRule^([A-Za-z0-9-]+)/?$index.php?go=$1
我把它放在.htaccessOptions+FollowSymLinks Options+index RewriteBase上的RewriteEngine/
我只是不知道为什么要重写这段代码规则^([A-Za-z0-9-]+)/([A-Za-z0-9-/]+)$index.php?go=1美元,额外=2美元[L]
在DreamHost上工作,但在GoDaddy上不工作。两台服务器都启用了mod_rewrite。您好,感谢您抽出时间:),但您的代码仍会产生500个内部服务器错误,并且此错误日志mod_rewrite:已达到最大内部重定向数。假设配置错误。如果nECEssential.
我也不知道这个错误的具体原因。但是我提供的代码是在我的godaddy托管帐户上使用的,对我来说效果很好。虽然我听说这有点共享托管问题。不管怎样,你有没有试过注释代码,尝试取消注释现在被注释的行。顺便说一句,godaddy需要一些是时候阅读htaccess文件上的更改了…:)是的,我在共享主机上尝试了注释行代码,但结果相同。我第一次在GoDaddy上尝试上面的代码时,我等待了24个多小时,等待服务器读取更改,但没有运气。也许问题真的是因为我在共享主机上,这太糟糕了:(无论如何,谢谢你的帮助!np。实现这一点的主要代码是“选项-多视图”,所以请尝试修改你的重写规则,我相信它应该会起作用。:)