URL에서 index.php 제거 - Codeigniter 2
PHPURL에서 index.php 제거 - Codeigniter 2
Codeigniter의 URL에서 index.php를 제거하는 데 문제가 있습니다. 나는 Codeigniter 1.7을 가진 몇몇 웹 사이트를 만들었고 내가 사용한 .htaccess 코드는 2에서 작동하지 않는다.
나는
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
과
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt|css)
RewriteRule ^(.*)$ ./index.php/$1 [L]
</IfModule>
또한 RewriteBase / in없이 시도했다.
나는 $ config [ 'uri_protocol']을 REQUEST_URI와 QUERY_STRING으로 변경했습니다.
나는 $ config를 설정했다 [ 'index_page'] = "";
파일 구조는 192.168.0.130/(site)/이므로 서버의 루트로 되돌아 가야하며 index.php 파일을 찾을 수 없습니다.
내가 만든 컨트롤러는 모두 192.168.0.130/(site)/index.php/testcontroller에 넣을 수 있습니다.
고맙습니다.
이것이 전에 물었다면 사과드립니다 - 나는 보았고 내가 볼 수있는 것을 시도했습니다.
편집하다:
또한 기본 폴더를 다음과 같이 변경했다고 덧붙여 야합니다.
신청
CI-2.0
index.php
index.php의 경로가 올바른 것으로 변경했습니다.
해결법
-
==============================
1.게시 한 첫 번째 코드 블록을 시도해보십시오. /index.php 대신 /(site)/index.php (obv는 사이트 폴더의 이름이 무엇이든간에 (사이트)를 사용하십시오)를 사용해보십시오.
게시 한 첫 번째 코드 블록을 시도해보십시오. /index.php 대신 /(site)/index.php (obv는 사이트 폴더의 이름이 무엇이든간에 (사이트)를 사용하십시오)를 사용해보십시오.
-
==============================
2.이것은 나를 위해 일했다 :
이것은 나를 위해 일했다 :
이것은 내 htaccess 파일입니다.
Options -Indexes Options +FollowSymLinks
RewriteEngine On RewriteBase / #Removes access to the system folder by users. #Additionally this will allow you to create a System.php controller, RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$ index.php?/$1 [L] #When your application folder isn't in the system folder RewriteCond %{REQUEST_URI} ^application.* RewriteRule ^(.*)$ /index.php?/$1 [L] #Checks to see if the user is attempting to access a valid file, #such as an image or css document, if this isn't true it sends the #request to index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [L]
# If we don't have mod_rewrite installed, all 404's # can be sent to index.php, and everything works as normal. # Submitted by: ElliotHaughin ErrorDocument 404 /index.php
출처:
http://taggedzi.com/articles/display/codeigniter-2-htaccess-and-friendly-urls
-
==============================
3.
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [L]
이 정도는 루트 폴더에만 필요합니다. .htaccess에 이것을 추가하십시오.
-
==============================
4.다른 사람들과이 CodeIgniter URL 문서의 모든 지침을 따른 후에, 서버를 다시 시작하는 것을 잊지 마십시오. 나는 그 일을 잊어 버렸고 다른 모든 해결책을 시도해 보았습니다.
다른 사람들과이 CodeIgniter URL 문서의 모든 지침을 따른 후에, 서버를 다시 시작하는 것을 잊지 마십시오. 나는 그 일을 잊어 버렸고 다른 모든 해결책을 시도해 보았습니다.
-
==============================
5.나는 이틀 동안이 일을했다. 가능한 모든 것을 시도했다. 나는 방금 다음과 같은 것이 필요하다고 나왔다.
나는 이틀 동안이 일을했다. 가능한 모든 것을 시도했다. 나는 방금 다음과 같은 것이 필요하다고 나왔다.
유형:
sudo nano /etc/apache2/sites-available/default
AllowOverride None을 AllowOverride All로 변경하십시오. - .htaccess 파일에 대한 액세스 권한을 부여합니다.
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all # Uncomment this directive is you want to see apache2's # default start page (in /apache2-default) when you go to / #RedirectMatch ^/$ /apache2-default/ </Directory>
또한 Apache에서 mod 재 작성을 활성화하십시오.
http://stackoverflow.com/questions/3131236/how-do-you-enable-mod-rewrite
희망이 도움이, 마리오
-
==============================
6..htaccess에 아래 코드를 추가하기 만하면됩니다.
.htaccess에 아래 코드를 추가하기 만하면됩니다.
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
-
==============================
7.1) 루트 폴더에 .htaccess 파일을 만듭니다.
1) 루트 폴더에 .htaccess 파일을 만듭니다.
RewriteEngine on RewriteCond $1 !^(index\.php|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA]
2) 응용 프로그램 폴더에서 application / config / config.php 파일을 편집합니다.
$config['base_url'] = 'http://localhost/projectName'; $config['index_page'] = ''; // remove index.php
나는 그것이 당신을 위해 일할 것이라는 점을 희망한다.
from https://stackoverflow.com/questions/5155333/remove-index-php-from-url-codeigniter-2 by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
어떤 이유로 PHP 메일이 작동하지 않습니다. (0) | 2018.09.19 |
---|---|
기본 PHP 및 AJAX (0) | 2018.09.19 |
PHP에서 문자열을 바이트 배열로 (0) | 2018.09.19 |
PHP 기본 인코딩을 utf-8로 설정 하시겠습니까? (0) | 2018.09.19 |
PHP에서 객체의 보호 된 속성을 얻는 방법 (0) | 2018.09.19 |