问题
I want to remove index.php
from url. I put .htaccess
in the root and wrote the following lines in common/config/main-local.php
.
But every url is redirected to backend.
My .htaccess
file:
RewriteEngine on
# If a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward it to index.php
RewriteRule . index.php
My common/config/main-local.php
file:
'urlManager' => [
'class' => 'yii\web\UrlManager',
// Disable index.php
'showScriptName' => false,
// Disable r= routes
'enablePrettyUrl' => true,
'rules' => array(
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
],
Note: I want to remove index.php
from both frontend and backend.
回答1:
In .htaccess file(put .htaccess in frontend/web and backend/web )
RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
And in frontend/config/main.php and backend/config/main.php:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
],
],
来源:https://stackoverflow.com/questions/32645180/remove-index-php-from-url-after-removing-web-folder-from-frontend-and-backend-in