除索引文件外,RewriteRule不在addon域上工作

时间:2017-09-23 04:41:57

标签: php apache .htaccess mod-rewrite url-rewriting

我将一个完美工作的网站的托管更改为另一台服务器上的插件域,该网站是一台服务器上的插件域。现在,除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]

1 个答案:

答案 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]