首先,如果这是一个稍微广泛的问题,我会道歉。我希望不是。
在我的本地主机上,我有这个htaccess:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^/?([a-z]+)/?$ http://myasite.com/region.php?reg=$1 [QSA,L]
RewriteRule ^/?([a-z]{2})/(.*?)/(\d+)$ http://myasite.com/single-id.php?reg=$1&n=$3&area=$2 [L,QSA]
当我去:
我被重定向到:
然而,URL与以下内容保持一致:
哪个是完美的。但是,当我将其上传到我的站点服务器时,该URL不会保留干净的URL。
我已经问过服务器支持人员和实时聊天,我确信他们没有任何关于它的信息。我一直得到他们的答复'问题是htaccess,联系开发人员'
我的服务器有ControlPanel / WHM
有谁知道为什么干净的URL在服务器上不起作用但它们在我的本地主机上,有人可以提供帮助检查/修复此问题的步骤吗?
答案 0 :(得分:1)
这可能与您的RewriteRule
有关,因此请将其修改为以下内容:
RewriteRule ^([a-z]+)$ region.php?reg=$1 [QSA,L]
也值得将+
替换为您可能遇到的每个地区的确切字符数,即{2}
:-) - Example 功能
答案 1 :(得分:0)
请回复$ _SERVER [' SERVER_SOFTWARE'];以防万一服务器没有在nginx服务器上运行php文件。我曾经见过这一次。
<?php
echo $_SERVER['SERVER_SOFTWARE'];
?>