.htaccess 在 Apache EC2 Linux 服务器中不起作用

Posted

技术标签:

【中文标题】.htaccess 在 Apache EC2 Linux 服务器中不起作用【英文标题】:.htaccess not working in Apache EC2 Linux Server 【发布时间】:2015-03-20 07:27:33 【问题描述】:

模式重写开启(检查 info.php 测试 AllowOveride All 在 etc/httpd/conf/httpd.conf 文件中

在 /var/www/html 中插入 .htaccess

RewriteEngine On
 RewriteBase /wordpress/
 RewriteRule ^index\.php$ - [L]
 RewriteCond %REQUEST_FILENAME !-f
 RewriteCond %REQUEST_FILENAME !-d
 RewriteRule . /wordpress/index.php [L]

(想从主页重定向到wordpress子目录...)

重启 Apache

service httpd restart

但 Apache 主页显示在 ...http://mywpblog.net

请求为http://mywpblog.net/wordpress时的wordpress主页

我错过了什么吗? (EC2/httpd 上的虚拟对象)谢谢

【问题讨论】:

根站点 mywpblog.net 到 wordpress 目录 mywpblog.net/wordpress .. 我重新测试了一个修改后的 .htaccess (见我的答案),它工作...... 【参考方案1】:

错误的 .htaccess ! 应该是(在 /var/www/html 目录中)

<IfModule mod_rewrite.c>

# Turn on rewrites.
 RewriteEngine on

# Don't apply to URLs that go to existing files or folders.
 RewriteCond %REQUEST_FILENAME !-f
 RewriteCond %REQUEST_FILENAME !-d

# Only apply to URLs that aren't already under /wp.
 RewriteCond %REQUEST_URI !^/wordpress/

# Rewrite all those to insert /wordpress
 RewriteRule ^(.*)$ /wordpress/$1

# Redirect the root folder.
 RewriteCond %HTTP_HOST ^(www.)?yodojodo.net$
 RewriteRule ^(/)?$ wordpress/ [L]
 </IfModule>

【讨论】:

以上是关于.htaccess 在 Apache EC2 Linux 服务器中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

AWS EC2 EB 上的 .htaccess 在哪里

如何使用子域链接子目录? (虚拟主机、mod_rewrite、htaccess、DNS)

apache开启 .htaccess

在Apache中使用.htaccess文件

apache开启.htaccess及.htaccess的使用方法

.htaccess 在 Apache2 上不起作用