довольно url не работает
Ниже мой main.php
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [ '<controller:w+>/<id:d+>' => '<controller>/view',
'<controller:w+>/<action:w+>/<id:d+>' => '<controller>/<action>',
'<controller:w+>/<action:w+>' => '<controller>/<action>',
],
],
Я включил довольно url (я думаю), я получаю много 404-х, как
192.168.1.3/~user/urshow/frontend/web/movies/movies_all
это было бы прекрасно работать, если бы это было так 192.168.1.3/~user/urshow/frontend/web/index.php?r=movies/movies_all
и никакие ссылки не работают, которые работали идеально раньше.
5 ответов:
Попробуйте это... создайте
.htaccess
файл в корневой папке и добавьте следующий кодRewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^(index\.php) RewriteRule ^(.+)$ index.php?$1 [PT,L,QSA]
Может помочь вам..
Я думаю, что это сработает. . .
192.168.1.3/~user/urshow/frontend/web/index.php/movies/movies_all
Поместите этот код в
common/config/main.php
'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ '<controller:\w+>/<id:\d+>' => '<controller>/view', '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>', '<controller:\w+>/<action:\w+>' => '<controller>/<action>', ], ],
Создайте a .файл htaccess и поместите его в папку проекта:
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
Теперь в вашей паутине.php добавьте в раздел Компоненты следующее:
'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>', ), ],
Это определенно сработает.
Мой .htacess файл, который находится в веб-папке моего проекта
RewriteEngine on RewriteBase /~user/urshow/frontend/web/ # 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
Мой главный.php-файл внутри config
Это сработало для меня .'urlManager' => [ 'class' => 'yii\web\UrlManager', 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => array( '<controller:\w+>/<id:\d+>' => '<controller>/view', '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>', '<controller:\w+>/<action:\w+>' => '<controller>/<action>', ), ],
Добавьте ниже оператор на конфигурации маршрутизатора, чтобы сделать html5 истинным.
$locationProvider.html5Mode({ enabled: true, requireBase: false });
Затем добавьте настройки в интернете.config
<system.webServer> <rewrite> <rules> <clear /> <rule name="AngularJS" enabled="true" stopProcessing="true"> <match url=".*" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" /> </conditions> <action type="Rewrite" url="/index.html" /> </rule> </rules> </rewrite> </system.webServer>