我将一个完美工作的网站的托管更改为另一台服务器上的插件域,该网站是一台服务器上的插件域。现在,除index.php
文件外,URL重写规则无效。
我在.htaccess
文件中有以下代码,其中只包含以下行:
RewriteRule ^p/(.*) index.php?p=$1 [L]
正在运作而其他人则没有。我联系了服务器提供商,他们确认正确安装了重写所需的模块,并且没有问题。
代码中的错误是什么?
RewriteEngine On
RewriteBase /
RewriteRule ^view/(.*)/(.*)/(.*) view.php?id=$1&sid=$2&adult=$3 [L]
RewriteRule ^go/(.*)/(.*) go.php?usid=$1&s=$2 [L]
RewriteRule ^ad/(.*) ad.php?adid=$1 [L]
RewriteRule ^out/(.*) out.php?sid=$1 [L]
RewriteRule ^p/(.*) index.php?p=$1 [L]
RewriteRule ^adcode/(.*) adcode.php?id=$1 [L]
RewriteRule ^edit/(.*) edit.php?sid=$1 [L]
RewriteRule ^verify/(.*)/(.*) verify.php?id=$1&verify=$2 [L]
答案 0 :(得分:0)
更改文件名解决了这个问题。
例如,我通过在文件名的开头添加下划线_
来更改所有文件名。
RewriteEngine On
RewriteBase /
RewriteRule ^view/(.*)/(.*)/(.*) _view.php?id=$1&sid=$2&adult=$3 [L]
RewriteRule ^go/(.*)/(.*) _go.php?usid=$1&s=$2 [L]
RewriteRule ^ad/(.*) _ad.php?adid=$1 [L]
RewriteRule ^out/(.*) _out.php?sid=$1 [L]
RewriteRule ^p/(.*) index.php?p=$1 [L]
RewriteRule ^adcode/(.*) _adcode.php?id=$1 [L]
RewriteRule ^edit/(.*) _edit.php?sid=$1 [L]
RewriteRule ^verify/(.*)/(.*) _verify.php?id=$1&verify=$2 [L]