2012-06-25 3 views
1

Мой URL в настоящее время выглядит, чтоmod_rewrite PHP

http://www.mydomain.com/index.php?videoID=6nR9nsKTx4g

, но я хочу, чтобы получить доступ к странице с помощью

http://www.mydomain.com/6nR9nsKTx4g

Я попытался это так

RewriteEngine On 
RewriteRule ^([^/]*)$ index.php?videoID=$1 [L] 

но видеоID не передается. Что не так с этим кодом? Спасибо

+0

Хотя это, вероятно, не делает разницы в этом случае, вы можете просто использовать '(. *)'. – Jeroen

+0

Кажется, все в порядке. Является ли идентификатор VideoID пустым? попробуйте print_r ($ _ GET); чтобы убедиться, что вы где-то опечалились. – Ignas

ответ

2

Вы упускаете QSA, это добавляет строку запроса,

RewriteEngine On 
RewriteRule ^([^/]*)$ index.php?videoID=$1 [L,QSA] 
+0

Добавление строки запроса не будет работать, поскольку исходный URL-адрес не содержит строку запроса. – kingcoyote

+0

удивительно, его работа. Благодаря! – Chris

+0

Ну, я попробовал, и это сработало – Musa

0

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

Попробуйте добавить phpinfo(); умереть(); в верхней части кода и проверьте переменные _GET, чтобы убедиться, что переменная установлена.

+0

При использовании die(); на http://www.mydomain.com/index.php?videoID=6nR9nsKTx4g или http://www.mydomain.com/6nR9nsKTx4g Я получаю «index.php». – Chris