0
我正在做一个从数据库中获取数据的项目。我使用URL重写方法。我使用重写方法会重定向到错误页面多个动态网址重写重定向到404页
动态URL
http://www.sample.com/?cat=kk
的重写URL
http:/www.sample.com/kk
的.htaccess
文件中查找该URL书面改写
RewriteEngine On
RewriteRule ^([^/]*)$ /?cat=$1 [L]
的.htaccess文件还包含另一个url重写
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)\.html$ /?cat=$1&sub=$2&year=$3&page=$4 [L]
RewriteRule ^([^/]*)/([^/]*)$ /?cat=$1&sub=$2 [L]
RewriteRule ^([^/]*)/([^/]*)$ /?cat=$1&sub=$2 [L]
RewriteRule ^([^/]*)/([^/]*)/$ /?cat=$1&sub=$2 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ /?cat=$1&sub=$2&pag=$3 [L]
RewriteRule ^([^/]*)/$ /?cat=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
我遇到的问题是,当我访问任何页面时,它将重定向到服务器默认错误页面。
尝试检查您的'error_log'文件中的提示,然后注释掉所有重写规则,并逐个启用它们,直到找出哪一个正在破坏事物。示例中的最后两条规则需要在它们下面有一个RewriteRule,我在代码中看不到它。 – drew010 2012-08-07 17:52:35
“默认错误页面”是指500错误还是404?在404错误中,它说的URL没有找到? – 2012-08-07 18:19:49
对于每个规则,您需要使用RewriteCond,以便规则不会无限期地运行。 – 2012-08-07 18:19:58