我有问题.. 我使用启用了prettyUrl的yii2入门套件。 它在我的localhost上运行良好。 但是当我上传到我的服务器时,它不起作用。
这是我的代码......
.httacces
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
base.php
...
'components' => [
'urlManager'=>require(__DIR__.'/_urlManager.php')
],
...
_urlManager.php
<?php
return [
'class'=>'yii\web\UrlManager',
'enablePrettyUrl'=>true,
'showScriptName'=>false,
'rules'=>[
// url rules
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
]
];
到目前为止,我刚刚禁用了prettyUrl
,它运行正常..
为什么我的prettyUrl无论如何都无法工作?
有什么建议吗?
答案 0 :(得分:1)
尝试检查您的网络服务器中是否启用了 mod_rewrite 。在Apache中,您应该将 AllowOverride 指令设置为 ALL 。
你应该看到类似的东西<Directory "/path/to/the/site/directory/">
Options Indexes
FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
答案 1 :(得分:1)
可能是路径相关的问题
尝试独立于O.S.的路径。像这样...
'components' => [
'urlManager'=>require(__DIR__. DIRECTORY_SEPARATOR . '_urlManager.php')
],
...
答案 2 :(得分:0)
http