我正在将Kohana应用程序版本3.0.4从Apache迁移到NginX。 我遇到了配置.htaccess的麻烦。在Nginx的正常工作只有内部URL的一样:将Kohana从Apache迁移到NginX
http://myurlwithoutwww.net.ds/internalpage/anotherpage
但幽冥主页
http://myurlwithoutwww.net.ds/
幽冥这样的:
http://myurlwithoutwww.net.ds/index.php
作品。最后两个将只显示一个空白屏幕。
这是从那里我试图迁移htaccess文件:
AddType text/x-component .htc
#Accept-Encoding: filter,deflate
# Turn on URL rewriting
RewriteEngine On
AddDefaultCharset UTF-8
# Installation directory
RewriteBase/
RewriteCond %{HTTP_HOST} ^([a-z0-9\-]+).([a-z]{2,3})$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
# Protect hidden files from being viewed
<Files .*>
Order Deny,Allow
Deny From All
</Files>
# ExpiresActive On
# <FilesMatch \.(bmp|png|gif|jpe?g|html?|ico|doc|swf)$>
# ExpiresDefault "access plus 10 days"
# </FilesMatch>
FileETag none
# Protect application and system files from being viewed
RewriteRule ^async/?(.*)? index.php?dispatcher=async&$1 [NC,L,QSA]
RewriteRule ^(?:_application|_modules|_system)\b index.php/$0 [L]
# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php?kohana_uri=$0 [PT,L,QSA]
#RewriteRule .* index.php/$0 [PT]
这我目前Nginx的配置:
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
include /etc/nginx/aliases.conf;
root /var/www/webroot/ROOT;
index index.php;
location/{
expires off;
try_files $uri $uri/ @kohana;
}
# Prevent access to hidden files
location ~ /\. {
deny all;
}
location @kohana {
rewrite ^/(.+)$ /index.php$request_uri last;
}
location ~* \.php {
#location ~ /\. { deny all; access_log off; log_not_found off; }
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /var/www/webroot/ROOT/$fastcgi_script_name;
fastcgi_param KOHANA_ENV development;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT /var/www/webroot/ROOT;
fastcgi_index index.php;
}