Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么我的.htaccess重写规则在DreamHost上运行良好,但在GoDaddy上产生内部服务器错误?_Php_.htaccess_Mod Rewrite - Fatal编程技术网

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
我把它放在.htaccess
Options+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。实现这一点的主要代码是“选项-多视图”,所以请尝试修改你的重写规则,我相信它应该会起作用。:)