Mod rewrite mod_重写规则不起作用
我的htaccess中有以下规则:Mod rewrite mod_重写规则不起作用,mod-rewrite,apache2,Mod Rewrite,Apache2,我的htaccess中有以下规则: RewriteRule ^([^/.]+)/?$ list.php?categoryShortForm=$1&locationShortForm=world [QSA] RewriteRule ^([^/.]+)/([^/.]+)/?$ list.php?categoryShortForm=$1&locationShortForm=$2 [QSA] RewriteRule ^([^/.]+)/([^/.]+)/[^/.]*-p(
RewriteRule ^([^/.]+)/?$ list.php?categoryShortForm=$1&locationShortForm=world [QSA]
RewriteRule ^([^/.]+)/([^/.]+)/?$ list.php?categoryShortForm=$1&locationShortForm=$2 [QSA]
RewriteRule ^([^/.]+)/([^/.]+)/[^/.]*-p([0-9]+)/?$ view.php?categoryShortForm=$1&locationShortForm=$2&postingId=$3 [QSA]
在我的本地主机(windows、xampp)中,一切正常。
在我的真实服务器(linux、apache)中,前两条规则可以正常工作,但第三条规则不行
例如:
/plastics surgery/california usa/
效果很好,但是
/整形外科/美国加利福尼亚州洛杉矶/test-1-p1
给了我一个404
任何想法???检查以确保您可以直接浏览到目标URL。如果mod_rewrite正在重写不存在的东西,那么您将得到404。这可能有助于将mod_rewrite的日志级别提升到一个较高的值,这样您就可以看到它正在重写的内容。我不太清楚您的工作URL实际应该如何工作。所有三种模式都以“一个或多个非斜杠、非句点字符”([^/]+)开头,但进入模式匹配的URL以斜杠开头:“/plastic surgery/california usa/” 您是否打开了mod_rewrite日志并检查了mod_rewrite实际上在做什么
RewriteLog "/tmp/rewrite.log"
RewriteLogLevel 9
您确定服务器上存在view.php吗?您真的在使用Apache 2吗?如果是这样的话,我在某个地方读到它与前一个版本有一些更改。您是否尝试查看apache服务器日志以获取更详细的错误消息?*me*Study*!我没有上传目标文件view.php。谢谢