gpt4 book ai didi

.htaccess - Yii 中用户友好的 URL

转载 作者:行者123 更新时间:2023-12-03 03:26:59 26 4
gpt4 key购买 nike

我一直在用 Yii 做一些实验,看看它是否能满足我的需要。我想要启用的第一件事是用户友好的 URL。

我想要实现的目标:从这个 URL webapproot/index.php?r=site/contact 转到这个 URL webapproot/contact

我做了什么:

  • 使用 Yiic 创建了一个应用程序 (php YiiRoot/framework/yiic.php webapp testdrive)
  • 按照 this link from Yii's documentation 中的步骤 2 和 6 进行操作(“用户友好的 URL”和“隐藏 index.php”)。

发生的情况是我不断收到 404 错误。您知道我做错了什么吗?

以下是该问题的一些相关摘录:

[项目根目录]/protected/config/main.php

(...)
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),
(...)

[项目根目录]/.htaccess

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php

/etc/apache2/httpd.conf

(...)
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
(...)
<Directory [path to my web projects folder]>
Options FollowSymLinks
AllowOverride All
Order deny,allow
</Directory>
(...)

最佳答案

从您最新的评论来看,您似乎需要设置 RewriteBase以及。正如我在对您的问题的第一条评论中提到的,如果您的网络服务器的 DocumentRoot 和您的网络应用程序位于不同的文件夹中,那么可能会出现此问题。试试这个:

RewriteEngine on

RewriteBase /~username/yourwebappfolder
#rest of your rewrite conditions/rules

要调试 htaccess 或其他服务器配置,请检查服务器 error_log,对于 mac lion,它位于文件中:/var/log/apache2/error_log

关于.htaccess - Yii 中用户友好的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11335967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com