.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 服务器中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何使用子域链接子目录? (虚拟主机、mod_rewrite、htaccess、DNS)