Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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
Apache Typo3在htaccess中将页面id为的旧动态页面重写为页面id为的新页面-错误_Apache_.htaccess_Mod Rewrite_Typo3 - Fatal编程技术网

Apache Typo3在htaccess中将页面id为的旧动态页面重写为页面id为的新页面-错误

Apache Typo3在htaccess中将页面id为的旧动态页面重写为页面id为的新页面-错误,apache,.htaccess,mod-rewrite,typo3,Apache,.htaccess,Mod Rewrite,Typo3,我必须安装一个新的服务器,在许多情况下,它的内容与旧服务器相同。许多链接(id)仍然指向旧站点,需要重写为新的页面id 我目前不使用RealURL(但一旦“核心”工作,我将使用它) 链接示例: 因此,新站点上不存在旧页面id。 我已经在站点的根级别设置了.htaccess。(还有另一个Typo3安装的.htaccess,它位于/cms/-so中,因此降低了一级) 我设置的.htaccess是: .htaccess:在站点根目录中“/”(不是“/cms/”)中的目录 我得到的只是一个Typo3页面

我必须安装一个新的服务器,在许多情况下,它的内容与旧服务器相同。许多链接(id)仍然指向旧站点,需要重写为新的页面id

我目前不使用RealURL(但一旦“核心”工作,我将使用它)

链接示例:

因此,新站点上不存在旧页面id。 我已经在站点的根级别设置了.htaccess。(还有另一个Typo3安装的.htaccess,它位于/cms/-so中,因此降低了一级)

我设置的.htaccess是:
.htaccess:在站点根目录中“/”(不是“/cms/”)中的目录

我得到的只是一个Typo3页面未找到(404)错误(尽管清除了缓存等)。 Typo3日志显示:

核心:异常处理程序(WEB):未捕获类型3异常:#1301648780:请求的页面不存在

我的重写规则似乎没有被处理? 任何帮助都会很好


非常感谢

不使用realUrl有什么具体原因吗?对页面、类别、记录等使用原始UID是非常脆弱的,因为这些可能会在不同的实例中出现分歧。不仅是旧站点/新站点,还包括开发与生产实例。添加一个抽象层是一个好主意。对于URL,这将是realUrl。realUrl已经在我的列表中,并且肯定是下一步要做的事情。然而,它还增加了一个额外的抽象层和复杂性,我有意在这个阶段(开发阶段——这就是我提到它的原因)排除它,直到核心按照我想要的方式工作。谢谢@svendoes链接
http://www.example.com/cms/index.php?id=7
未从htaccess重定向时是否工作?(使用@username-让用户看到你对他的评论做出了回答)@nbar谢谢。是的,存在重写到works和page的链接。语法有问题吗?我正在修改的.htaccess是站点根目录中的.htaccess。我想问题可能是“typo3 root”文件夹中也有一个。我试图在那里的
部分下添加我的重写规则,但也不起作用。我不确定你说的
/cms
文件夹是什么意思,因为typo3没有这样的文件夹。你用的是哪一个版本?此外,您还可以轻松检查您的重写规则是否有效,只需检查您是否被重定向到正确的url即可。
Old: http://www.example.com/cms/index.php?id=400
New: http://www.example.com/cms/index.php?id=7
RewriteEngine on
RewriteCond %{query_STRING} ^id=400(.*)$
RewriteRule ^/(.*)$ http://www.example.com/cms/index.php?id=7 [R]