网站网址可以在有或没有 index.php 的情况下访问 [重复]

Posted

技术标签:

【中文标题】网站网址可以在有或没有 index.php 的情况下访问 [重复]【英文标题】:website url can access with or without index.php [duplicate] 【发布时间】:2019-07-16 09:46:18 【问题描述】:

我已经从 Codeigniter 的 URL 中删除了 index.php。但我可以通过两种方式访问​​ URL。

abc.com/index.php/123

abc.com/123

但我需要如果有人键入 abc.com/index.php/123 它将被重定向到 abc.com/123

我在 .htaccess 中编写的代码下面做了什么

<IfModule mod_rewrite.c>

RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule>

在 config.php 中我删除了 index.php

$config['index_page'] = '';

但我仍然可以通过两种方式打开网址

【问题讨论】:

你可以用 .htaccess 文件做到这一点 我已经完成了,但它不起作用。请写解决方案或提供演示 “我已经完成了,但它不起作用” - 那你没有正确地完成它。请向我们展示您的尝试。请阅读:How to create a Minimal, Complete, and Verifiable example 和 How do I ask a good question? 您能告诉我们您在 .htaccess 文件中使用的代码吗?最好从错误中吸取教训:) 你有足够的代表并且已经在这里足够长的时间知道你需要在你的问题中包含你的尝试。 【参考方案1】:

您可以在 .htaccess 文件或 &lt;VirtualHost *:80&gt; 块内使用 Apache 重定向,在您的情况下,这可能如下所示:

RedirectMatch /index.php/(.*)$ http://example.com/$1

另外,这里有一个很好的使用指南https://www.linode.com/docs/web-servers/apache-tips-and-tricks/redirect-urls-with-the-apache-web-server/

【讨论】:

请不要发布仅链接的答案。将实际解决方案包含在答案中,并且仅将链接作为参考。如果链接更改/被删除,这个答案对未来的访问者没有帮助。 我已经在第一行发布了解决方案,这正是他所要求的。该指南是如果他想了解有关如何使用 apache 重定向或设置它的更多信息 你只举了一个抽象的例子。请对其进行修改以适应 OP 的需求,并解释 OP 应将其放在 哪里。如果没有,那么 OP(或未来的访问者)可能仍需要访问链接或谷歌,了解如何实际使用它。将 SO 视为教室,您需要详细解释如何求解方程。 ok 添加了有关在何处插入代码的信息。谢谢 我可以用php而不用htaccess吗

以上是关于网站网址可以在有或没有 index.php 的情况下访问 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在有或没有 OSGi 的情况下使用 JPA 的区别

php 用户在有或没有 AJAX 的情况下注销

如何在有或没有 SIMD 内在函数的情况下从 Zig 构建和链接到 CGLM

将多个域重定向到一个域(之前有或没有 www)

如何隐藏(或者缩短)php网站的网址 ?

关联、组合和聚合 - 使用 java 实现