.htaccess在localhost上很好,在webserver上有500个内部服务器错误

时间:2015-03-18 13:14:29

标签: angularjs apache .htaccess amazon-web-services elastic-beanstalk

我尝试使用.htaccess在webapp中访问文件夹/重定向文件夹/ dist中的show文件。 这在localhost(xampp apache)上可以正常工作,但是当推送到服务器(AWS Elastic Beanstalk Apache)时,我得到错误代码500内部服务器错误

我已经使用Yeoman Angular generator创建了webapp,并在Apache服务器上运行了webapp。该项目位于整个站点的子文件夹中(http://url.com/pages/webapp)。 Grunt在 dist 文件夹中创建应用程序,我这个内容是我希望访问者在访问webapp的根目录时看到的内容。 基本上我想将http://url.com/pages/webapp/重定向/重写为http://url.com/pages/webapp/dist/

我试图通过看起来像这样的.htaccess来实现这个目标:

RewriteEngine On
RewriteRule ^$ dist/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^dist/
RewriteRule ^(.*)$ dist/$1

完全相同的 htaccess-content用于同一服务器上的其他项目,并且工作正常。只有使用此生成器创建的项目才会出现此问题。

我的htacceess文件,webapp的其他部分或Elastic Beanstalk中存在问题......?

我尝试将AllowOverride All(根目录)和LoadModule rewrite_module modules/mod_rewrite.so添加到 /etc/httpd/conf/httpd.conf ,但它没有用。 我也没有在error_log

中找到任何有趣的东西

我意识到问题可能很难通过所提供的信息解决,但我希望其他人有类似的问题。 感谢

1 个答案:

答案 0 :(得分:0)

在root .htaccess中尝试此代码:

RewriteEngine On

RewriteRule ^$ dist/ [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/dist/ [NC]
RewriteRule ^(.*)$ dist/$1 [L]

请注意/dist之前的RewriteCond前导{。}}。