【发布时间】:2014-01-08 16:41:39
【问题描述】:
我一直使用代码点火器作为站点的子目录,并且在一台服务器上有多个 if 实例。每个实例都被视为一个单独的应用程序,但都在同一个域名下。不过,我希望启用稍微不同的 URL 结构,并求助于 mod_rewrite 来帮助我。
该页面可通过 http://localhost/test 访问,但我想重写该 URL 以显示为 http://localhost/en-US/test。
问题是我不断收到代码点火器 (CI) 404。我可以确认 mod_rewrite 已到达 CI index.php,但 CI 未能提供正确的页面。这是和示例设置:
1) Download a new instance of CI 并将其放在站点根目录的子目录中。将 CI 文件夹命名为“test”。现在应该可以在本地服务器上通过 http://localhost/test 访问它,并且您应该会看到默认的欢迎视图。
2) 在服务器的 Web 根目录中创建一个 .htaccess 文件。不要将它放在 CI“测试”目录中。向其中添加以下行。
RewriteEngine On
RewriteBase /
RewriteRule ^en-US/test/?$ test/index.php [NC,L]
根据我对 mod_rewrite 的理解,这应该允许 URL http://localhost/en-US/test 呈现位于 http://localhost/test 的内容。但它没有。我刚得到一个 404 的 CI 版本。我需要帮助找出如何解决这个问题。
【问题讨论】:
-
你可以试试:
RewriteRule ^en-US/test/?$ /test/index.php [NC,L,R] -
这会起作用,只是它会更改 URL。这只是一个重定向,我需要保持新 URL 不变。
-
我只知道用于测试其他配置问题,我想知道该重定向规则是否确实对您有用?
-
当然。它在相应的页面上解决了。
-
好的,在下面提供了答案。
标签: php apache .htaccess codeigniter mod-rewrite