【发布时间】:2013-03-15 16:16:24
【问题描述】:
我是使用 cakephp 的新手,我正在尝试为我的网站设置友好 URL,但我遇到了问题。
我已经完成了 cakephp 2.3 书中所说的所有步骤,并且我的 apache 配置表明正在执行 mod_rewrite。
当我进入 cake 的主页时,它说没有配置 URL 重写,当我想访问我的 web 时,我需要通过 www.mysite.com/index.php/controller/function当然,我想要这个:www.mysite.com/controller/function,如果我尝试这条路线,它会说在我的服务器中找不到它(并且我已经创建了控制器和函数)。
这是我的 .htacces 文件:
根目录:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
应用目录:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
Webroot 目录:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
【问题讨论】:
-
这是在本地 M/W/LAMP 服务器上还是在一些付费的网络托管服务器上?如果它是您自己设置的 Apache 安装,那么您可能需要检查配置以确保为虚拟主机设置了
AllowOverride All。但是,如果它是付费托管,那么这可能已经由提供商设置。 -
它在我自己的 ubuntu 服务器上,我输入了 apache2.conf 文件(因为我在网上看到配置在这里,而不是在 httpd.conf 中)并添加以下行: '
Options FollowSymLinks AllowOverride All # Order deny, allow # Deny from all
标签: php cakephp url-rewriting friendly-url cakephp-2.3