应用程序使用http://www.mydomain.com/item/3193.html这样的URL来select并显示来自mysql数据库的正确logging。
只要提及,应用程序是用PHP编写的,托pipe在Apache Web服务器上。
其实这应该是http://www.mydomain.com/item.html/3193.html ,但在.htaccess我有RewriteRule,可以帮助我把它像http://www.mydomain.com/item/3193.html
但在新的服务器,RewriteRule,从某种原因不起作用。 正如我所说,它是在.htaccess中定义的:
RewriteEngine On RewriteBase / #some conditions here RewriteRule ^item/(.*) item.html/$1 #more conditions here
所以,它在旧的服务器上工作。 它(看起来像?),它不能在新的服务器上工作…
所以,首先,如果在服务器上允许重写规则,我将检查主机提供商。
另外,如果他们(我猜他们是),我可以改变这个RewriteRule的语法,以获得我需要的能力?
非常感谢你提前!
您更有可能无权设置.htaccess文件。 尝试使用Options Indexes来做一些基本的事情,如目录列表(没有索引{htm,html,php}或任何默认页面)
如果您无法查看目录内容,则将AllowOverride设置为无(或限制),这是您的问题。 它至less必须设置为AllowOverride FileInfo而Options FollowSymLinks也是必需的。 如果您真的需要,请与您的供应商联系(*)。
如果您可以查看目录列表,那么您没有所需的选项,然后再与您的提供商交谈。
(*)RewriteRules在一个登台或开发服务器中的.htaccess里面可以正常工作,你可以快速完成一项工作,而无需多次重启Apache。 如果可以,请务必在生产之后将其移至虚拟主机configuration。