URL 重写以从显示的 URL 中删除我的控制器名称

发布于 2024-10-15 02:35:32 字数 413 浏览 2 评论 0原文

我有这个网站

http://cjbuilders.info/welcome/home

且所有链接均以

http://cjbuilders.info/welcome

如何使用 mod_rewrite 删除

/欢迎/

来自网址?这应该是一件容易的事,但我在 mod_rewrite 上遇到了困难。

I have this site

http://cjbuilders.info/welcome/home

and all the links start with

http://cjbuilders.info/welcome

How can I use mod_rewrite to just remove

/welcome/

from the url? This should be an easy one, but i struggle with mod_rewrite.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

遇到 2024-10-22 02:35:32

您了解 CodeIgniter 的 URI 路由吗?将其添加到您的routes.php配置文件中,它应该可以正常工作:

$route['home'] = 'welcome/home';

Do you know about CodeIgniter's URI Routing? Add this into your routes.php config file and it should work just fine:

$route['home'] = 'welcome/home';
南巷近海 2024-10-22 02:35:32

这应该可行,IIRC:

RewriteRule ^/welcome/(.*)$ /$1 [R]

但是,猜测一下这里发生的情况,如果此前缀的原因类似于 Java 应用程序服务器在名为“welcome”的上下文中部署应用程序,那么更好的解决方案不是重写URL,但要修复后端应用程序服务器以具有空上下文,即服务于 / 而不是 /welcome/。

这是因为应用程序服务器可能想要生成指向其应用程序其他视图的链接,并将重新插入“欢迎”:这变得很痛苦,并且意味着页面上的所有链接在访问时都会获得 HTTP 重定向(例如通过搜索)发动机)。代理 apache 服务器无法解析 HTML 并告知何时应删除“欢迎”,因此最好首先修复编写链接的服务器。

This should work, IIRC:

RewriteRule ^/welcome/(.*)$ /$1 [R]

However, guessing a bit about what's going on here, if the reason for this prefix is something like a Java app server deploying an app at a context called "welcome", then the better solution is not to rewrite the URLs but to fix the backend app server to have a null context, i.e. serve at / rather than at /welcome/.

This is because the app server will probably want to generate links to other views of its app, and will reinsert the "welcome": this becomes a pain, and means that all links on your pages will get HTTP redirects when visited (e.g. by search engines). There is no way that the proxying apache server can parse the HTML and tell when that "welcome" should be removed, so best to fix the server that's writing the links in the first place.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文