0

我正在使用我下载的 PHP 应用程序,它在我的服务器上运行了一半,但是我遇到了我认为是重写错误。

该应用程序是一个“工作委员会”,人们可以在其中浏览可用的职位并在线申请。

目前它正在“技术上”工作。一个人可以查看网站和帖子,他们可以填写申请表。消息已正确发送。

问题是,一旦按下提交按钮,浏览器就会显示页面正在加载,但什么都没有加载。所以发送了消息,但没有加载以下页面。

该应用程序使用 htaccess 重写,我相信这就是问题所在。

该应用程序应该在顶级域上开箱即用,但是我试图在子域上使用它。我是否正确假设在使用子域时技术上没有太大区别?毕竟,在提交表单之前,页面都可以正常加载。

该应用程序在http://volunteer.essentialtransit.com运行

您看到的是最初设置后的应用程序,我添加了一个示例“作业”。

您可以尝试申请查看我所指的问题。这是一个非常简单的申请表,只需几秒钟即可完成。

这是htaccess文件:

# AddType x-mapp-php5 .php
# AddHandler x-mapp-php5 .php

RewriteEngine on
Options +FollowSymlinks

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]

ErrorDocument 404 /page-unavailable/

<files ~ "\.tpl$">
order deny,allow
allow from none
deny from all
</files>

也许如果有人可以解释 htaccess 规则在做什么,我可以找出问题所在。

编辑:所以页面实际上确实加载了,但只是在很长一段时间后。浏览器显示表单已发送,然后开始加载以下页面,但实际加载需要几分钟。网站上所有其他页面的加载速度都比这更快。另一个奇怪的事情是,当一个“工作”页面最初打开时,它会快速加载,在应用后它只是重定向回同一个“工作”页面,但是这一次它需要永远加载。

4

1 回答 1

1

规则是不言自明的:

RewriteEngine on # Enables rewrite engine (obviously)
Options +FollowSymlinks # Tells Apache to follow symbolic links

RewriteCond %{REQUEST_FILENAME} !-f # Here it redirects non-files
RewriteCond %{REQUEST_FILENAME} !-d # and non directories
RewriteRule . index.php [L]         # to index.php

ErrorDocument 404 /page-unavailable/ # Sets 404 page address

<files ~ "\.tpl$"> # Denies access to templates
order deny,allow
allow from none
deny from all
</files>

我怀疑您的问题与这些规则有关。

于 2012-06-14T01:34:13.467 回答