.htaccess in Codeigner
Moderator: Moderatori
.htaccess in Codeigner
Buna seara,
Am o problema,stiu ca este simpla, pe care eu nu o intleg:
De cand am pus fisierul .htaccess si accesez URL-ul fara segmentul "index.php" ,imi apare mesajul:
"Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log."
Fisierul .htaccess este situat in folder-ul unde am CodeIgniter si arata asa:
a.
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Am incercat si varianta:
b.
RewriteEngine On
RewriteBase /ci/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
Am setat de asemenea in config.php:
$config['index_page'] = '';
$config['base_url'] = '';
Ma puteti sfaturi de ce imi apare mesajul de mai sus cand accesez URL-ul fara "index.php"?
Cand elimin .htaccess, atunci script-urile imi ruleaza si este OK.
Va multumesc
Am o problema,stiu ca este simpla, pe care eu nu o intleg:
De cand am pus fisierul .htaccess si accesez URL-ul fara segmentul "index.php" ,imi apare mesajul:
"Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log."
Fisierul .htaccess este situat in folder-ul unde am CodeIgniter si arata asa:
a.
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Am incercat si varianta:
b.
RewriteEngine On
RewriteBase /ci/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
Am setat de asemenea in config.php:
$config['index_page'] = '';
$config['base_url'] = '';
Ma puteti sfaturi de ce imi apare mesajul de mai sus cand accesez URL-ul fara "index.php"?
Cand elimin .htaccess, atunci script-urile imi ruleaza si este OK.
Va multumesc
Re: .htaccess in Codeigner
Daca ai gazduirea pe WHM (cPanel) si ai uploadat fisierele ca root este foarte probabil sa patesti chestia asta. Schimba-le owner-ul, daca este cazul, si vezi daca se rezolva problema.
Re: .htaccess in Codeigner
ViezuREX scrie:Daca ai gazduirea pe WHM (cPanel) si ai uploadat fisierele ca root este foarte probabil sa patesti chestia asta. Schimba-le owner-ul, daca este cazul, si vezi daca se rezolva problema.
Nici macar nu am ajuns pana acolo,sunt pe localhost, am uitat sa mentionez.
-
- PHPRomania Supporter
- Mesaje: 18
- Membru din: Vin Iun 29, 2012 3:22 pm
Re: .htaccess in Codeigner
Problema e de la semnul intrebarii din rewrite, nu are ce cauta acolo. Incearca cu :
in loc de
Cod: Selectaţi tot
RewriteRule ^(.*)$ index.php/$1 [L]
in loc de
Cod: Selectaţi tot
RewriteRule ^(.*)$ index.php?/$1 [L]
Re: .htaccess in Codeigner
1. - Verifică să ai mod_rewrite enable. (dacă nu te descurci întreabă-mă)
2. - Șterge index.php din aflat în application/config/config.php
3. - Copiază tot ce e mai jos în .htaccess-ul tău
4. - Cine nu știe ce e cu semnul întrebării după index.php în .htaccess să se abțină să dea sfaturi.
NOTĂ: E posibil să meargă și fără semnul întrebării dar sunt unele configurații de server care nu acceptă fără.
2. - Șterge index.php din
Cod: Selectaţi tot
$config['index_page'] = 'index.php';
3. - Copiază tot ce e mai jos în .htaccess-ul tău
4. - Cine nu știe ce e cu semnul întrebării după index.php în .htaccess să se abțină să dea sfaturi.
NOTĂ: E posibil să meargă și fără semnul întrebării dar sunt unele configurații de server care nu acceptă fără.
Cod: Selectaţi tot
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
# Send request via index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
Re: .htaccess in Codeigner
Multumesc tuturor care au contribuit cu sfaturi la problemea mea.Orice parere este binevenita.
Pt. Chiribuc cat si altii:
Nu am rezolvat inca problema.
Imi arata acum mesajul:" Not found - The requested URL /ci/example2/more was not found on this server." ..care este tot mai bine acum.
1. Am stres "index.php" din $config['index_page'] = 'index.php';
2. Cat despre faptul sa am grija sa am mod_rewrite enable, m-am documentat si eu sa vad ce insseamna asta si am tras concluzia ca nu este vb. aici cumva de config.php ci de setarile wampmanager, cred eu.
M-am uitat in documentatia lui PhpMyAdmin dar nu am reusit.
Rog mult pe Chiribuc sau altii daca puteti aici sa ma ajutati cum rezolv aici cu mod_rewrite enable.
PS. Mentionez inca odata ca atunci cand elimin .htaccess din folderul root CI , atunci script-urile imi ruleaza si sunt OK dar numai cu segmentul "index.php"iar eu doresc sa rulez script-uri fra acest segment.
Va multumesc.
Pt. Chiribuc cat si altii:
Nu am rezolvat inca problema.
Imi arata acum mesajul:" Not found - The requested URL /ci/example2/more was not found on this server." ..care este tot mai bine acum.
1. Am stres "index.php" din $config['index_page'] = 'index.php';
2. Cat despre faptul sa am grija sa am mod_rewrite enable, m-am documentat si eu sa vad ce insseamna asta si am tras concluzia ca nu este vb. aici cumva de config.php ci de setarile wampmanager, cred eu.
M-am uitat in documentatia lui PhpMyAdmin dar nu am reusit.
Rog mult pe Chiribuc sau altii daca puteti aici sa ma ajutati cum rezolv aici cu mod_rewrite enable.
PS. Mentionez inca odata ca atunci cand elimin .htaccess din folderul root CI , atunci script-urile imi ruleaza si sunt OK dar numai cu segmentul "index.php"iar eu doresc sa rulez script-uri fra acest segment.
Va multumesc.
Re: .htaccess in Codeigner
Daca nu ma insel, trebuie sa ai in tryicon (langa ceas) icon-ul de la WAMP. Dai ceva click-uri si ajungi pe la modulele care le incarca Apache-u.
Sunt o gramada de module si majoritatea sunt dezactivate. Cauti mod_rewrite si il bifezi.
Dupa ce ai activat mod_rewrite trebuie sa restartezi serverul apache si eventual verifica sa ai in fisierul de configurare al virtual host directiva AllowOverride All
Sunt o gramada de module si majoritatea sunt dezactivate. Cauti mod_rewrite si il bifezi.
Dupa ce ai activat mod_rewrite trebuie sa restartezi serverul apache si eventual verifica sa ai in fisierul de configurare al virtual host directiva AllowOverride All
Cod: Selectaţi tot
# Inlocuiesti /var/www/ cu ce ai tu pe server
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
Re: .htaccess in Codeigner
sim72 scrie:Daca nu ma insel, trebuie sa ai in tryicon (langa ceas) icon-ul de la WAMP. Dai ceva click-uri si ajungi pe la modulele care le incarca Apache-u.
Sunt o gramada de module si majoritatea sunt dezactivate. Cauti mod_rewrite si il bifezi.
Dupa ce ai activat mod_rewrite trebuie sa restartezi serverul apache si eventual verifica sa ai in fisierul de configurare al virtual host directiva AllowOverride AllCod: Selectaţi tot
# Inlocuiesti /var/www/ cu ce ai tu pe server
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
Am o alta problema care cred ca tine de .htaccess:
Am urcat site-ul pe server, poate fi accesata pagina index.php dar nu pot fi accesate celelalte pagini.
.htaccess-ul meu este:
<IfModule mod_rewrite.c>
RewriteEngine On
#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
#This last condition enables access to the images and css folders, and the robots.txt file
RewriteCond $1 !^(index\.php|public|images|robots\.txt|css)
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
--------------
Cand incerc sa accesez alte pagini ale site-ului imi apare mesajul:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, chris@bluepink.ro and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
In fisierul config.php am variabila: $config['index_page'] = 'index.php';
Va multumesc
Re: .htaccess in Codeigner
PHPistu scrie:sim72 scrie:Daca nu ma insel, trebuie sa ai in tryicon (langa ceas) icon-ul de la WAMP. Dai ceva click-uri si ajungi pe la modulele care le incarca Apache-u.
Sunt o gramada de module si majoritatea sunt dezactivate. Cauti mod_rewrite si il bifezi.
Dupa ce ai activat mod_rewrite trebuie sa restartezi serverul apache si eventual verifica sa ai in fisierul de configurare al virtual host directiva AllowOverride AllCod: Selectaţi tot
# Inlocuiesti /var/www/ cu ce ai tu pe server
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
Am o alta problema care cred ca tine de .htaccess:
Am urcat site-ul pe server, poate fi accesata pagina index.php dar nu pot fi accesate celelalte pagini.
.htaccess-ul meu este:
<IfModule mod_rewrite.c>
RewriteEngine On
#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
#This last condition enables access to the images and css folders, and the robots.txt file
RewriteCond $1 !^(index\.php|public|images|robots\.txt|css)
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
--------------
Cand incerc sa accesez alte pagini ale site-ului imi apare mesajul:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, chris@bluepink.ro and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
In fisierul config.php am variabila: $config['index_page'] = 'index.php';
Va multumesc
Ma poate ajuta cineva? va rog frumos.
Re: .htaccess in Codeigner
Cred ca mai mult o sa te incurce raspunsul meu
Am testat .htaccess-ul tau pe un server la mine si totul merge perfect cu mentiunea ca am $config['index_page'] = '';
Daca $config['index_page'] = 'index.php'; sunt ceva imagini care nu se incarca insa si asa gaseste paginile.
Am testat .htaccess-ul tau pe un server la mine si totul merge perfect cu mentiunea ca am $config['index_page'] = '';
Daca $config['index_page'] = 'index.php'; sunt ceva imagini care nu se incarca insa si asa gaseste paginile.
Re: .htaccess in Codeigner
sim72 scrie:Cred ca mai mult o sa te incurce raspunsul meu
Am testat .htaccess-ul tau pe un server la mine si totul merge perfect cu mentiunea ca am $config['index_page'] = '';
Daca $config['index_page'] = 'index.php'; sunt ceva imagini care nu se incarca insa si asa gaseste paginile.
Multumesc pt. raspuns si interes. Da, asa este, am realizat si eu pana la urma ca nu este de vina .htaccess.
Am incercat si varianta cu $config['index_page'] = '',dat tot imi apare mesajul mai sus mentionat.
Cred ca poate gresala este de la definirea base-url()-urilor. Ordinea fisierelor pe server este:
public_html
-application
-----controllers
-----------news.php(fisierul meu controller)
-----views
-----------news(folder)
----------------index(fisierul view)
----------templates(folder)
------ ---------header.php(fisierul view)
---------------footer.php(fisierul view)
- css
style.css
-js
autentificare.js
-system
In views/ templates/header.php...acolo unde nu functioneaza link-urile(asta este problema mea) am exprimat asa:
<script type="text/javascript" src="<?php echo base_url();?>js/autentificare.js" ></script>
<?php echo link_tag('css/style.css'); ?>
<nav id="headerLinks">
<div style="margin-right:3px;" class="links">
<a href='<?php echo base_url()."news/contact"; ?>'>Contact</a></div>
<div class="links"><a href='<?php echo base_url()."news/create"; ?>'>Inscrie anunt</a></div>
<div class="links"><a href='<?php echo base_url()."news/index"; ?>'>Home</a></div>
</nav>
Link-urile cu Contact; Inscriere anunt si Home nu merg..imi apare mesajul mentionat la inceput(cu 500 Internal Server Error .....etc)
In config.php am:
$config['base_url'] = '';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
$config['url_suffix'] = '';
$config['javascript_location'] = 'js';
In routes.php am:
$route['default_controller'] = 'news/index'; (deocamdata atat si nimic mai mult, aici)
In system/core/Config.php ......la linia 78, am incercat ambele variante:
else
{
$base_url = 'ci'; ....SAU $base_url = '';
}
Nu stiu ce sa mai zic de nu-mi functioneaza link-urile(Contact, Inscriere... si Home), oricum pe localhost merge. Poate ma ajutati in continuare cu o sugeste. Va multumesc.
Re: .htaccess in Codeigner
Poate ma ajuta cineva, nu am reusit nici acum sa identific greselile. Multumesc.
Re: .htaccess in Codeigner
Eu folosesc exact dupa cum urmeaza:
.htaccess:
Daca in continuare ai problema, vezi in "default_controller" sa nu ai problema acolo...
Mai exact, stege tot din metoda index() { } si scrie doar un dump('x'), de exemplu
Atentie ca in cazul dat de mine ai mai multe lucruri: printre care si redirect din non-www la www. Am comentat ca sa nu te afecteze
.htaccess:
Cod: Selectaţi tot
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# RewriteCond %{HTTP_HOST} !^www\.
# RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
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>
ErrorDocument 404 /index.php
</IfModule>
Cod: Selectaţi tot
$config['base_url'] = '';
$config['index_page'] = '';
Daca in continuare ai problema, vezi in "default_controller" sa nu ai problema acolo...
Mai exact, stege tot din metoda index() { } si scrie doar un dump('x'), de exemplu
Atentie ca in cazul dat de mine ai mai multe lucruri: printre care si redirect din non-www la www. Am comentat ca sa nu te afecteze
Viata e prea scurta sa faci un lucru singur. Cere AJUTOR!
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 2 vizitatori