2017-02-21 13 views
0

я французский парень так простите мой плохой английский :(Htaccess не работает на MAMP

Так, в моей компании я разрабатываю веб-сайт (PHP, HTML, CSS, JavaScript, MySQL, JQuery), и почти закончен. Я пытаюсь исправить проблемы с безопасностью, такие как параметры в URL-адресе. Сначала мой проект: Project Organisation Как я могу видеть, я работаю с моей собственной организацией «MVC». Но дело не в этом. . основной файл blog.php в корне Это в этом файле, что я делаю все мои переназначения с URL

для примера, чтобы перейти к админам пространству, я шлю:.

<a href="blog.php?action=adminSpace&id=<?php echo $_SESSION['id'] ; ?>"> Admin Space</a>

и blog.php я получаю:

if($_GET['action'] == 'adminSpace') { include_once('vue/adminSpace.php'); }

И для каждой ссылки, что это то же самое. Я часто отправить идентификатор тоже, чтобы получить дополнительную информацию, так что мой URL часто выглядит следующим образом:

http://localhost:8888/sos_informatique/blog.php?action=adminSpace&id=3

Я хотел бы, имеющие хорошие URL, как:

http://localhost:8888/sos_informatique/blog.php/adminSpace/3

Посмотрите, что я имею в виду ??? : p

Я нахожусь на MAC Os Sierra, и я изменил свой файл Httpd.conf, чтобы изменить AllowOverride None to All и проверить, активирован ли mod_rewrite.so. Мои файлы имеют имя .htaccess в корне проекта.

Содержание моего файла .htaccess:

RewriteEngine On

RewriteRule ^blog.php/([a-zA-Z0-9-_\.]+)/(\d+) blog.php?action=$1&id=$2 [L]

Я извиняюсь за длинный пост, ребята: р Я надеюсь, что у понял мою проблему :)

EDIT: Правило, которое я написал, не работает после многих попыток, но когда я пишу такие странные вещи, как RewriteEngineriing Off RuleRewrite, мой сайт перенаправляет меня на 500 внутренних ошибок сервера. Так это значит, что мой Htaccess работает:/

Я думаю, что это мой RewriteRule :( Любовь у всех и ТНХ для помощи

+0

В какой папке находится ваш .htaccess? –

+0

Почему вы проверяете блог '^.php/... 'в RewriteRule, когда, как вы сказали, URL-адрес, который вы хотите использовать, это' http: // localhost: 8888/sos_informatique/adminSpace/3'? – CBroe

+0

Это мое плохое, я написал это плохо, я изменю этого человека :) Ty –

ответ

0

Я попробовал это в sos_informatique/.htaccess на моем сервере:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteRule ^blog.php/([a-zA-Z0-9-_\.]+)/(\d+) blog.php?action=$1&id=$2 [L] 
</IfModule> 

Это на самом деле работает в преобразовании http://localhost:8888/sos_informatique/blog.php/articleType/123 запросов в http://localhost:8888/sos_informatique/blog.php?action=actionType&id=123.

Пожалуйста, обратите внимание, что actionType часть должна быть состоит только из алфавита (AZ, AZ), цифры (0-9), -, _ и ..

+0

Привет, Koala, ty для ответа на ур. Я пробовал это, но он не работает. Мои URL-адреса похожи на: http: // localhost: 8888/sos_informatique/blog.php? Action = articleLaptop & id = 1', и мне бы хотелось: 'http: // localhost: 8888/sos_informatique/blog.php/articleLaptop/1 'ты видишь, что я имею в виду? –

+0

Я думаю, что неправильно прочитал ваше требование. Мой .htaccess работает для path 'localhost: 8888/sos_informatique/abc/123' –

+0

Странно то, что я попробовал вашу версию' .htaccess' на моем Apache, он работает для пути http: // localhost: 8888/sos_informatique/blog.php/articleLapto p/1' –

 Смежные вопросы

  • Нет связанных вопросов^_^