【问题标题】:Remove ".php" file extension when using S3 / EC2使用 S3 / EC2 时删除“.php”文件扩展名
【发布时间】:2015-05-13 23:47:18
【问题描述】:
我已经设置了一个应用程序并使用弹性 beantalk 上传了文件。这些文件保存在运行 EC2 实例的 S3 存储桶中。
问题是我只能在手动添加扩展名“.php”时访问站点文件。
我使用 .htaccess 文件构建应用程序以删除文件扩展名,然后我的重定向和函数将使用没有结尾的文件,例如“/index”而不是“/index.php”。
由于 .htaccess 不是使用 S3 存储桶的选项,是否有一种简单的替代方法可以删除文件扩展名? (因此“/index.php”文件被读取为“/index”,那么所有函数/重定向都可以正常工作)。
【问题讨论】:
标签:
apache
.htaccess
amazon-web-services
amazon-ec2
amazon-s3
【解决方案1】:
您可以使用 mod_rewrite 来实现这一点。
例如,当在当前目录中找不到文件时,此规则将重定向到索引。例如,如果您访问 /users,并且因为它不是文件。该请求将被转发到 index.php。在 index.php 中,您可以使用 $_SERVER[REQUEST_URI] 处理 URL 并要求正确的文件。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>