我刚刚在 Expression Engine 中重建了我们的一个网站,一切都很顺利!我需要创建一堆重定向,希望能修复上一个站点的一些旧 URL。
例子:
旧站点创建的 URL 类似于:index.php?id=30
例如,这个需要重定向到:http ://www.example.com/contact
所以在我的 .htaccess 中,我创建了:
重定向 /index.php?id=30 http://www.example.com/contact
我为所有不同的 ID 做了大约 50 次。但是,当我访问这些链接时,他们只是将我放在主页上并保持 URL 不变。(www.example.com/index.php?id=30)。
然后我注意到它对任何不存在的 URL 执行此操作。所以我可以输入:
www.example.com/asdasdjasdbjhasdbjhasdbjhasdbjhasdbjhasd
它只是让我在主页上。
这是我的 .htaccess 文件中的其他内容以及一些重定向示例。这第一位只是从 URL 中删除 /index.php。
重写引擎开启
# Removes index.php from ExpressionEngine URLs
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
Redirect /index.php?id=30 http://www.example.com/contact
Redirect /index.php?id=26 http://example.com/careers
Redirect /index.php?id=28 http://example.com/about
那么这里发生了什么,Expression Engine 是否内置了破坏我的重定向的重定向?
谢谢您的帮助!