2012-03-02 2 views
0

У меня есть этот код .htaccess переписать файл

RewriteRule ^forum/(.*)/(.*)$ "/forum.main.php?forum=$1&type=$2" 

Все работает, прежде чем $ 2, $ 2 не может работать .. Это просто не принять его, почему?

Спасибо.

+0

Вы не предполагается заключить путь замены в кавычки. – mario

+0

Нет ничего плохого в этом, и работает, когда я его тестирую: http://htaccess.madewithlove.be/ – scibuff

+0

.. правильно, кроме кавычек, но это просто добавит кавычки к перенаправлению, например. example.com/"/forum.main.php?forum=x&type=y " – scibuff

ответ

2

Регулярное выражение может быть слишком жадным. Следующие два будут полностью израсходованы в первой группе захвата:

forum/blargh/   # $1 = "blargh" 
forum/blargh/zoid/  # $1 = "blargh/zoid" 

Вы могли бы хотеть, чтобы попытаться заменить (.*) для (.*?), или даже «все, кроме слэша»:

RewriteRule ^forum/([^/]+)/([^/]+) ... 
+0

Это не сработало :( – user1245311

+0

Что? Почему? Пожалуйста, не принимайте к сведению и обновляйте вопрос о том, как он« не работает », какой из них вышеупомянутые решения, которые вы пробовали и т. д. –

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