問題
最初の問題:
こんにちは私はURLからindex.phpを削除したい新しく作られたYiiサイトを持っています。
例:「/ index.php / site/index」は「/site/index」である必要があります
私はこのhttp://www.yiiframework.com/doc/guide/1.1/en/topics.url#hiding-x-23xガイドを使用していますが、404しか受け取りません。
間違いを指摘したり、この問題のデバッグにご協力いただければ幸いです。
関連情報を省略した場合はお知らせください。
OBS:「ホームページ」ページは意図したとおりに機能し、他のページは壊れています。
問題のステータス: mod_rewrite.soのapache/ubuntuの問題のようです
答え
さまざまな人々の助けを借りて、すべてが機能するようになりました:DIは、実行するために「rewrit」をインストールする必要がありました。これは、Running a2enmod rewritと書くことで実行しました。以下のシステム構成で問題が解決しました。このスレッドが、他のユーザーに役立つことを願っています。同様の問題。
私のシステム
Server version: Apache/2.2.22 (Ubuntu)
Server built: Nov 8 2012 21:37:45
Apache httpd.conf
<Directory "/var/www/MY_SITE/FOLDER_CONTAINING_YII/">
AllowOverride All
#...
</Directory>
LoadModule rewrite_module modules/mod_rewrite.so
これはファイルの内容全体です
Apacheエラーログ
File does not exist: /.../htdocs/site, referer: http://.../htdocs/index.php/site/index
ドットを追加しました
Apacheを再起動します
kah@webaalborg:/etc/apache2/sites-available$ sudo service apache2 restart
* Restarting web server apache2
[Mon Nov 26 20:16:35 2012] [warn] module rewrite_module is already loaded, skipping
... waiting
[Mon Nov 26 20:16:36 2012] [warn] module rewrite_module is already loaded, skipping
[ OK ]
/ ect / apache2 / available-sites / default
...
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
<Directory /var/www/MY_SITE>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
...
Yiiディレクトリ構造:
- フレームワーク
- htdocs
- 資産
- css
- .htaccess
- index.php
- index-test.php
- テーマ
- 保護
.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
main.php構成ファイル
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'caseSensitive'=>false,
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),