Apache 什么';这个修改规则有什么问题吗?
有人能发现这个URL重写有什么问题吗?我无法让它传递任何要获取的内容(脚本已加载,但未传递任何参数):Apache 什么';这个修改规则有什么问题吗?,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,有人能发现这个URL重写有什么问题吗?我无法让它传递任何要获取的内容(脚本已加载,但未传递任何参数): 我想将“archive/browse/”映射到“archive.php?action=browse”。启用此选项后,可能会出现一些冲突。如果已启用,Apache会首先尝试查找一个具有类似名称的文件,以将请求映射到该文件,然后再将其传递给mod_rewrite。因此,在mod_rewrite将其映射到您的/archive.php?action=browse之前,请求/archive/browse
我想将“archive/browse/”映射到“archive.php?action=browse”。启用此选项后,可能会出现一些冲突。如果已启用,Apache会首先尝试查找一个具有类似名称的文件,以将请求映射到该文件,然后再将其传递给mod_rewrite。因此,在mod_rewrite将其映射到您的
/archive.php?action=browse
之前,请求/archive/browse/
以/archive.php/browse/
结尾
尝试使用以下命令禁用它:
Options -MultiViews
启用时可能会出现一些冲突。如果已启用,Apache会首先尝试查找一个具有类似名称的文件,以将请求映射到该文件,然后再将其传递给mod_rewrite。因此,在mod_rewrite将其映射到您的
/archive.php?action=browse
之前,请求/archive/browse/
以/archive.php/browse/
结尾
尝试使用以下命令禁用它:
Options -MultiViews
将/archive/
之后的任何内容重写为archive.php?action=test/dir/path
将
/archive/
之后的任何内容重写为archive.php?action=test/dir/path
,尽管如果没有任何内容通过,您的场景会产生更大的影响sense@VinkoVrsalovic:这个选项不会改变任何关于mod_重写的内容。它只是阻止Apache查找类似的命名文件。另一个解决方案是重命名文件,如果多视图确实是这种行为的原因。我知道,我在问(/(.*),内部组仍然是$1吗?@Vinko Vrsalovic:不,那是$2
。但是他说什么都不能通过,所以我不认为这是规则。虽然如果什么都不能通过,你的情况会更糟sense@VinkoVrsalovic:这个选项不会改变任何关于mod_重写的内容。它只是阻止Apache查找类似的命名文件。另一个解决方案是重命名文件,如果多视图确实是这种行为的原因。我知道,我在问(/(.*),内部组仍然是$1吗?@Vinko Vrsalovic:不,那是$2
。但他说什么都不能通过,所以我认为这不是规则。你为什么接受查查的回答?我认为您无法将任何内容传递给$\u get
?因为它解决了大多数需要我期望结果的情况(尽管不是我的特例)。通过接受它,其他具有类似目标的用户将更容易找到最可能的解决方案。这是目前最好的答案,但如果能找到更有效的解决方案,我很乐意换一个,接受另一个。你为什么接受查查的答案?我认为您无法将任何内容传递给$\u get
?因为它解决了大多数需要我期望结果的情况(尽管不是我的特例)。通过接受它,其他具有类似目标的用户将更容易找到最可能的解决方案。这是目前最好的答案,但如果能找到更有效的解决方案,我很乐意换一个,接受另一个。
Options -MultiViews
RewriteEngine On
RewriteRule ^archive/(.*)$ archive.php?action=$1 [QSA,L]