目前,当我点击我网站上的链接时,它正在创建一个看起来像这样的网址
http://domainname.com/app/webroot/index.php/links
这会导致页面加载错误。如果我手动编辑网址看起来像这样
http://domainname.com/links
一切都正确加载。我的三个.htaccess文件看起来像这样 /
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
应用程序/
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
应用程序/根目录/
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
</IfModule>
我需要在这里改变一些东西吗?我应该在其他地方进行这些更改吗?该网站托管在godaddy的共享主机上。我不知道这与它有什么关系。
更新: 这是链接。
<?php echo $this->Html->link('Portfolio', array('controller' => 'images', 'action' => 'index'))?>
我也尝试从所有文件中删除RewriteBase /
行。这没有用。
这也是我的routes.php文件中的内容。
Router::connect('/', array('controller' => 'posts', 'action' => 'index'));
答案 0 :(得分:0)
尝试取出所有RewriteBase行
答案 1 :(得分:0)
你可以检查几件事:
此外,google上甚至还有堆栈上的大量帖子,因此可能值得确保您拥有与其他人相同的“默认”设置/环境,并从那里开始工作。
如果所有其他方法都失败了,您可以使用config / core.php文件中提供的替代“漂亮”网址设置。
答案 2 :(得分:0)
我必须在core.php文件中注释掉以下行。
Configure::write('App.baseUrl', env('SCRIPT_NAME'));
我忘记了我必须取消注释才能让我的开发服务器正常工作。