我正在Heroku雪松堆上运行一个PHP应用程序。有没有办法设置URL重写规则?我原本希望在.htaccess文件中执行此操作,但只能识别访问控制指令。
我看到Ruby的建议是使用rake重写,但是对于PHP应用程序需要在Heroku上进行URL重写配置?
答案 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文件,其中有两个部分我评论/取消注释。