没有URL重写的CakePHP:redirect / to index.php

时间:2014-07-25 07:12:14

标签: php .htaccess cakephp rewrite

我在共享主机上使用CakePHP框架,无法启用URL rewriting。 安装位于名为/tc的文件夹中。当我打开/tc/index.php/Controller/Action时,一切正常。

但是,我想让我的用户更轻松一点,这样他们就不必打开/tc/index.php而只打开/ tc(然后应该重定向到/tc/index.php)。

如何使用.htaccess

执行此操作

谢谢!

Clarificaiton 我希望/ tc /上的请求被重定向到/tc/index.php

用简单的

为我工作
RewriteEngine On
RewriteRule ^$ index.php/$1 [L,QSA]

CakePHP对其余部分进行处理,因为所有链接都指向/tc/index.php/Controller。

感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

尝试在.htaccess

中使用以下代码
<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php/$1 [L]
   IndexIgnore *
</IfModule>

答案 1 :(得分:0)

试试这个:

1)打开&#34; mod_rewrite&#34;来自apache服务器。

2)评论&#34;配置::写(&#39; App.baseUrl&#39;,env(&#39; SCRIPT_NAME&#39;)); &#34;来自/confige/core.php的这一行

答案 2 :(得分:0)

以下是 .htaccess 的规则,您可以通过该规则从网址中删除 index.php ,这意味着如果有人输入http://example.com/index.php,则重定向到{{3} }。

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /([^/]+/)*index.php HTTP/
RewriteRule ^(([^/]+/)*)index.php$ http://www.%{HTTP_HOST}/ [R=301,NS,L]

以上是您可以将index.php重定向到根目录的两个规则。