Heroku PHP雪松堆栈:我可以进行URL重写吗?

时间:2013-02-23 07:15:32

标签: mod-rewrite heroku cedar

我正在Heroku雪松堆上运行一个PHP应用程序。有没有办法设置URL重写规则?我原本希望在.htaccess文件中执行此操作,但只能识别访问控制指令。

我看到Ruby的建议是使用rake重写,但是对于PHP应用程序需要在Heroku上进行URL重写配置?

2 个答案:

答案 0 :(得分:7)

您可以在Heroku上使用PHP上的普通.htaccess文件。只需使用重写条件创建.htaccess文件,类似于:

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteRule ^index\.php$ - [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /index.php [L]
</IfModule>

这个例子取自WordPress。我相信所有网址现在都会重定向到/index.php。示例:https://github.com/catsby/php-heroku-htaccess和app:http://php-heroku-htaccess.herokuapp.com/something

答案 1 :(得分:0)

因此,为了部分回答我自己的问题并继续我在评论中提到的内容,这里是我需要制作的Mac和heroku .htaccess文件之间的区别:

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ $1/$2?arg=$3 #Mac
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ $1/$2.php?arg=$3 #heroku

这更像是一种解决方法,而不是一种解决方案。我相信apache版本是不同的,但最后我只是继续调试这个并使用.htaccess文件,其中有两个部分我评论/取消注释。