есть 2 regex rewrite, но один из них не работает - PullRequest
2 голосов
/ 20 февраля 2011

Эти мои правила. Первый работает, а второй нет.

Он работал на моем старом сервере. Я только что изменил свой сервер, теперь он не работает.

RewriteRule ^oyunlar/([0-9]+)/([_0-9a-z-]+) games.php?id=$1&title=$2
RewriteRule ^post/([_0-9a-z-]+) post.php?up=$1

что может быть не так?

на моей стороне php, $ _GET полностью пуст.

Это целый файл;

RewriteEngine on
RewriteRule ^uye user.php
RewriteRule ^oyunlar/([0-9]+)/([_0-9a-z-]+) games.php?id=$1&title=$2
RewriteRule ^post/([_0-9a-z-]+) post.php?up=$1
RewriteRule ^tv tv.php
RewriteRule ^thumb timthumb2.php

ErrorDocument 404 /404.php

и это URL, который я запросил: myurl.com/post/login

Я проверяю статус у Чарльза. ^ часть сообщения работает, но часть запроса отсутствует.

edit: я только что сделал пару тестов, и фактически оба правила не работают должным образом, и мои файлы могут работать без расширения, например: /hello.php или / hello

дополнительная информация: это мой личный сервер, debian lenny + ispCP

Ответы [ 2 ]

0 голосов
/ 22 февраля 2011

Наконец-то я решил свою проблему. это происходит из-за MultiViews

каким-то образом произошел конфликт переписывания и многовидового просмотра. Просто я просто отключил его из файла .conf.

Спасибо, люди.

0 голосов
/ 21 февраля 2011

@ siniradam

Попробуйте изменить свое регулярное выражение из этого

([_0-9a-z-]+)

к этому

([-_0-9a-z]+)

Если дефис должен быть одним из разрешенных символов, он должен быть первым в списке, а не последним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...