2016-07-23 3 views
0

На моем сайте я удалил .php расширение с URL-адреса, используя правила .htaccess. Чтобы я мог перейти на любую страницу без расширения .php. например:Почему .htaccess показывает мне «Внутренняя ошибка сервера»?

http://localhost/aponit/dev/zones (there are no .php extension) 

Теперь у меня есть ссылка на php-странице для обновления данных формы. Ссылка находится ниже:

<a class="btn btn-success btn-xs" href="<?php echo SITE_URL."update/$zone_id"?>" >Edit</a> 

Эта ссылка показывая следующий URL:

http://localhost/aponit/dev/update/54 

Но, к сожалению, он показывает мне сообщение об ошибке:

Внутренняя ошибка сервера

Я использую следующие .htaccess:

ErrorDocument 404 /not-found.php 
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.*)$ $1.php [NC,L] 
RewriteRule ^update/([0-9]+) update?z=$1 [L] 
+0

Вы находитесь в wordpress/laravel/codeigniter или любой другой такой услуге? – hjpotter92

+0

Я использую core php. –

ответ

0

Попытка:

ErrorDocument 404 /not-found.php 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^/]+)/$ $1.php 
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$ 
RewriteRule (.*)$ /$1/ [R=301,L] 

И после детального лог-файл ???

+0

Я пробовал. –

+0

Ах .. Это перенаправляет меня на другой URL. Например, мне нужно перейти в http: // localhost/aponit/dev/зоны. Он перенаправляет меня на http: // localhost/zone/и не работает по моему вопросу. –

0

Код .htaccess, который предоставил yuo, не будет работать корректно, если сайт не работает под корневым доменом. Например,

RewriteRule ^update/([0-9]+) update?z=$1 [L] 

Этот блок кода сообщает серверу, что любой URI, начинающийся с «обновления» после номера, будет перезаписан. но в вашем случае URI всегда начинается с «aponit/dev /». Таким образом, этот код не будет работать в любое время.

Решение

Настройка виртуального хоста. Вы получите множество доступных обучающих онлайн-приложений, как настроить виртуальный хост на основе вашего серверного программного обеспечения (XAMPP/WAMP и т. Д.)

Если вы хотите удалить .php из url, используйте следующий код .htaccess:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 
Смежные вопросы