Mod rewrite mod_rewrite不返回$_GET-value?

Mod rewrite mod_rewrite不返回$_GET-value?,mod-rewrite,get,Mod Rewrite,Get,我有一个问题,修改重写,更准确地说,它没有重定向我正确。在我的本地服务器上一切正常,只有当网站上线时才会出现问题。。。这是我在.htaccess中看到的内容: Options +FollowSymLinks RewriteEngine on RewriteBase / RewriteRule ^(tutorial|news|out|profile|script)/([0-9]+)/?$ $1.php?id=$2 [L] RewriteRule ^(tutorial|news)/([0-9]+)

我有一个问题,修改重写,更准确地说,它没有重定向我正确。在我的本地服务器上一切正常,只有当网站上线时才会出现问题。。。这是我在.htaccess中看到的内容:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /

RewriteRule ^(tutorial|news|out|profile|script)/([0-9]+)/?$ $1.php?id=$2 [L]
RewriteRule ^(tutorial|news)/([0-9]+)/post-comment/?$ $1.php?id=$2&action=postcmt [L]

RewriteRule ^atelier/([0-9]+)/?$ img/gallery/view.php?id=$1 [L]
RewriteRule ^([a-zA-Z0-9]+)/page/([0-9]+)/?$ $1.php?page=$2 [L]
RewriteRule ^get/([a-zA-Z0-9]+)/([0-9]+)/?$ $1/get.php?id=$2 [L]
RewriteRule ^get/brushes/(abr|img)/([0-9]+)/?$ brushes/$1.php?id=$2 [L]

RewriteRule ^([a-zA-Z0-9]+)/(c|series|type)/([0-9]+)/page/([0-9]+)/?$ $1.php?$2=$3&page=$4 [L]
RewriteRule ^([a-zA-Z0-9]+)/(c|series|type)/([0-9]+)/?$ $1.php?$2=$3 [L]

RewriteRule ^design/preview/([0-9]+)/?$ design/preview.php?id=$1 [L]
RewriteRule ^([a-zA-Z0-9]+)/send/?$ $1.php?action=send [L]
RewriteRule ^askme/post-question/?$ ask.php?action=ask [L]

例如,如果我输入news/5,它只会将我重定向到news.php,design/preview/5只会将我带到design/preview.php等等。相反,get/brush/abr/1工作正常。。。我不知道我做错了什么,有什么建议吗?

只是从最简单的地方开始,然后再添加一些复杂的内容,这对你有用吗

RewriteRule ^news/([^/\.]+)/?$ news.php?id=$1 [L,NC]
可能导致这种行为。尝试禁用它:

Options -MultiViews

您在开发和生产中使用的Apache版本是什么?(不是一个解决方案)但我认为应该在URL的开头加上一个前导“/”,例如^/?design/preview和/design preview.php?id=$1(尽管如果可能,请在本地测试)。我在本地服务器上使用2.2.11,在线使用2.0。我试了你的建议,没什么区别…:(是的,它们都是Windows服务器。虽然我可以看到你在.htaccess中打开了“重写引擎”,但听起来重写引擎甚至都没有打开