Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 重定向URL以包含?那是失踪的_Regex_Apache_.htaccess - Fatal编程技术网

Regex 重定向URL以包含?那是失踪的

Regex 重定向URL以包含?那是失踪的,regex,apache,.htaccess,Regex,Apache,.htaccess,如何替换url(在htaccess文件中),如下所示: 为此: 我还想确保这样的链接不受影响: 我不能完全理解正则表达式。对于任何目录: RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*/|)(.*)$ $1?$2 [L,QSA] 这将重定向到 仅适用于根目录: RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(/?)(.*)$ $1?$2 [L,QSA] 这将重定向到我似乎无法

如何替换url(在htaccess文件中),如下所示:

为此:

我还想确保这样的链接不受影响:

我不能完全理解正则表达式。

对于任何目录:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*/|)(.*)$ $1?$2 [L,QSA]
这将重定向到


仅适用于根目录:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(/?)(.*)$ $1?$2 [L,QSA]

这将重定向到

我似乎无法让它工作。这导致了一个内部服务器错误。@JustinPutney-答案中的代码只是配置的一部分。您是否有
.htaccess
方面的经验?您是否通过
RewriteEngine on
命令打开了重写引擎?有关教程和示例的详细信息,请查看和谷歌上的文档。还要检查日志文件以了解到底发生了什么,为什么会发生错误。我有一点经验,并且在.htaccess文件中有其他工作重定向。我查了几个例子。由于某种原因,错误似乎没有记录在任何地方。@JustinPutney-您检查了错误日志文件了吗?您还可以尝试在以下两行之间添加另一行:
RewriteCond%{REQUEST_URI}!^/$
查看这是否有帮助。我没有测试我的代码,也许重写是在循环中,没有其他条件。我想知道无限循环。不幸的是,这条线并没有解决它。即使在我刷新时,该目录中也没有错误日志,根目录中也没有错误。多亏了@user1215106,我得到了一些执行正确替换的正则表达式,但重定向仍然不起作用。