2016-08-06 3 views
1

Я пытаюсь переписать файлHtaccess RewriteRule не похоже на работу

view-forums.php?page=community-forums&section=2846 

Я сделал переписать строку в мой файл .htaccess, и это следующее:

RewriteRule ^forums/(.*)/(.*) view-forums.php?page=$1&section=$2 URL-адрес должен тогда будет http://localhost/forums/community-forums/2846, но он не работает, когда я нахожу его. Вместо этого он отправляет меня на страницу с ошибкой?

Мой полный Htaccess:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)/(.*) index.php?page=$1&id=$2 

RewriteRule ^forums/(.*)/(.*) view-forums.php?page=$1&section=$2 

RewriteRule ^media$ media.php 

RewriteRule ^about-us$ about.php 

RewriteRule ^forums$ main-forums.php 
+0

Какая "страница ошибки" в частности? И '^ (. *)/(. *)', Скорее всего, будет соответствовать почти всем вашим правилам. – deceze

+0

@deceze Он отправляет меня на страницу ошибки 404. – Synyster

+0

Кроме того, когда я изменил порядок индекса RewriteRule и форумов один, он сломал css, если это поможет. – Synyster

ответ

0

Вы должны сделать регулярное выражение ленивым, в противном случае первый захват группы «съедает» второй. Попробуйте также избежать ошибки /.

RewriteRule ^forums\/(.*?)\/(.*) view-forums.php?page=$1&section=$2 
+0

@Synyster Хорошо, я попытаюсь найти исправление решения. Тем не менее, вы не должны включать код из ответа в вопрос. – nicael

+0

Спасибо за быстрый ответ, хотя он все равно не сработает, отправляет меня на страницу с ошибкой. – Synyster

+0

@Synyster Похоже, что я добавил «?» Ко второму по ошибке, извините. Теперь он должен работать. – nicael

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