Mod rewrite Apache2Mod_重写问题 重新启动发动机 重写规则^browse/videos/(.*)/(.*)/(.*)/(.*)/(.*))/videos.php?sortby=$1&filter=$2&page=$3&title=$4 重写规则^videos/(.*)/(.*))/playvideo.php?videoid=$1和title=$2

Mod rewrite Apache2Mod_重写问题 重新启动发动机 重写规则^browse/videos/(.*)/(.*)/(.*)/(.*)/(.*))/videos.php?sortby=$1&filter=$2&page=$3&title=$4 重写规则^videos/(.*)/(.*))/playvideo.php?videoid=$1和title=$2,mod-rewrite,apache2,Mod Rewrite,Apache2,url www.example.com/browse/videos/z/0/1/LastAdded转到videos.php 但是url www.example.com/videos/10/play.html也会转到videos.php而不是playvideo.php 为什么?不知道为什么会这样,但无论如何,你应该使用这样的东西 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^browse/videos/(.*)/(.*)/

url www.example.com/browse/videos/z/0/1/LastAdded转到videos.php

但是url www.example.com/videos/10/play.html也会转到videos.php而不是playvideo.php


为什么?

不知道为什么会这样,但无论如何,你应该使用这样的东西

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^browse/videos/(.*)/(.*)/(.*)/(.*) /videos.php?sortby=$1&filter=$2&page=$3&title=$4
RewriteRule ^videos/(.*)/(.*) /playvideo.php?videoid=$1&title=$2
</IfModule>
这可能是由以下原因造成的。尝试使用以下命令禁用它:

RewriteRule ^browse/videos/(.+)/(.+)/(.+)/(.+) /videos.php?sortby=$1&filter=$2&page=$3&title=$4 [L]
RewriteRule ^videos/(.+)/(.+) /playvideo.php?videoid=$1&title=$2 [L]
此外,您应该使用比
*
更具体的模式,例如
[^/]+

Options -MultiViews

它对我有用。要跟踪它不适用于您的原因,您应该启用mod_rewrite日志记录:

RewriteRule ^browse/videos/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ /videos.php?sortby=$1&filter=$2&page=$3&title=$4
RewriteRule ^videos/([^/]+)/([^/]+)$ /playvideo.php?videoid=$1&title=$2

那么你应该试着理解那里写的东西。如果您不理解,请将其发布到此处,我们将尝试对此进行解释。

我发现选项索引位于ymlinks MultiViews之后[…],删除MultViews后一切正常。谢谢看起来秋葵给了你想要的答案。如果是,请点击他答案旁边的复选标记接受他的答案。
RewriteLogLevel 9
RewriteLog logs/rewrite.log