apache - htaccess在localhost中有效,但在EC2实例中无效

标签 apache .htaccess mod-rewrite amazon-web-services amazon-ec2

我的htaccess文件可在localhost上运行,但将其部署到EC2实例时不起作用。

我使用的是Macbook,在finder中我看不到htaccess文件,我认为也许没有将其复制到EC2实例,但是我不认为这是问题所在,因为当我复制项目时,我可以看到htaccess文件在我的编辑器中。

EC2 linux实例中是否有启用mod重写的功能?如果有,我没有这样做,或者它默认启用了mod rewrite?

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

最佳答案

我从各种帖子中整理了一些信息,所以我想我应该给出一个答案。


正如Paul所评论的那样,如果您正在运行Amazon EC2 Linux,则可能正在运行httpd而不是Apache。因此该文件位于/etc/httpd/conf/httpd.conf
您必须以root用户身份更改文件。 (通过ssh访问)执行以下操作:sudo vim /etc/httpd/conf/httpd.confHow to edit httpd.conf file in AMAZON EC2
DocumentRoot "/var/www/html"在我这里列出了两个地方。我必须在这两个地方将随后的AllowOverride None更改为AllowOverride All
重新启动Apache。我重新启动了整个ec2实例(我将apache配置为自动启动),尽管仅重新启动apache即可。但我看到这种变化正在奏效。


我试图在.htaccess文件中进行相同的更改(从代码点火器应用程序的URL中删除index.php)。希望能帮助到你!

关于apache - htaccess在localhost中有效,但在EC2实例中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19408349/

相关文章:

css - 禁用特立尼达自动添加样式表

apache - 如何使用 ".php"文件添加 ".htaccess"扩展名

php - .htaccess 为本地主机端口映射重写?

apache - 无法将/home/pavanbsd/wlsplugin/lib/mod_wl.so 加载到服务器 :/home/pavanbsd/wlsplugin/lib/mod_wl. 所以: undefined symbol :ap_log_rerror

javascript - Wicket 6.2 AbstractDefaultAjaxBehavior getCallbackUrl 不再解析 JS 变量

linux - mod_rewrite REQUEST_URI 混淆

ruby-on-rails - mod_rewrite 规则来检查除某些子域之外的维护页面

php - WordPress 网站在 url 中添加 https 时损坏

linux - 如何使用密码保护Scrapyd UI?

apache - 子域在 http 上工作正常,在 https 上不工作