2013-06-19 4 views
1

Я написал это в моем файле .htaccess:Htaccess код не работает, как ожидалось

RewriteRule ^dashboard/(.*)/([0-9]+)/([0-9]+)/(.*)$ dashboard.php?view=$1&idteam=$2&idplayer=$3&layout=$4 [L] 

Я ожидаю, что он должен дать мне это:

[ "вид"] => строка (4) «команда» [«idteam»] => строка (1) «5»
["idplayer"] => строка (1) "1" ["layout"] => строка (10) "editplayer"

Но я получил это i nstead:

массив (3) { [ "вид"] => строка (4) "команда" [ "IDteam"] => строка (1) "5" [ "расположение" ] => строка (13) "1/editplayer" }

Это URL:

панель/команда/5/1/editplayer

Это вся моя Htaccess:

ErrorDocument 404 /index.php 

Options +FollowSymlinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^wmisports.com 
RewriteRule (.*) http://www.wmisports.com/$1 [R=301,L] 

#AddType application/x-httpd-php .html .htm 


RewriteRule ^dashboard$ dashboard.php [L] 
RewriteRule ^dashboard/view/newteam/(.*)$  dashboard.php?view=newteam&idcaptain=$1 [L] 
RewriteRule ^dashboard/view/team/(.*)$ dashboard.php?view=team&idteam=$1 [L] 
RewriteRule ^dashboard/team/([0-9]+)/(.*)$ dashboard.php?view=team&idteam=$1&layout=$2 [L] 
#RewriteRule ^dashboard/([^/]+)/([^/]+)/([^/]+)/([^/]+)$  dashboard.php?view=$1&idteam=$2&idplayer=$3&layout=$4 [L] 
RewriteRule ^dashboard/([^/]+)/([^/]+)/([^/]+)/([^/]*)/?$ dashboard.php?view=$1&idteam=$2&idplayer=$3&layout=$4 [L] 

Пожалуйста может Sombody помочь понять, что случилось с моим кодом. Благодаря

+0

Попробуйте без алчности: '^ приборная панель/(. +?)/([0-9] +)/([0-9] +)/(. +?) $ ' –

+0

Или еще лучше с помощью' [^ /] + 'как в'^приборной панели/([^ /] +)/([0-9] +)/([0-9] +)/(. *) $ ' –

+0

при тестировании одного из Denis У меня внутренняя ошибка после тестирования вашего предложения – pollux1er

ответ

1

Попробуйте заменить свой код с этим:

RewriteRule ^dashboard/([^/]+)/([^/]+)/([^/]+)/([^/]*)/?$ dashboard.php?view=$1&idteam=$2&idplayer=$3&layout=$4 [L] 

EDIT: Это как ваш .htaccess должен быть:

ErrorDocument 404 /index.php 

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^wmisports\.com$ 
RewriteRule (.*) http://www.wmisports.com/$1 [R=301,L] 

#AddType application/x-httpd-php .html .htm 

RewriteRule ^dashboard/([^/]+)/([^/]+)/([^/]+)/([^/]*)/?$ dashboard.php?view=$1&idteam=$2&idplayer=$3&layout=$4 [L] 

RewriteRule ^dashboard/team/([0-9]+)/(.*)$ dashboard.php?view=team&idteam=$1&layout=$2 [L] 

RewriteRule ^dashboard/view/newteam/(.*)$ dashboard.php?view=newteam&idcaptain=$1 [L] 

RewriteRule ^dashboard/view/team/(.*)$ dashboard.php?view=team&idteam=$1 [L] 

RewriteRule ^dashboard$ dashboard.php [L] 
+0

Когда я vardump var_dump ($ _ GET); умереть; Я все еще получаю этот массив (3) { [ "вид"] => строка (4) "команда" [ "IDteam"] => строка (1) "5" [ "расположение"] => string (12) «1/editplayer» } Неверный формат и idplayer отсутствует – pollux1er

+0

Я тестировал выше код, и я получаю 4 разных элемента массива в $ _GET. Опубликуйте свой последний.htaccess в вашем вопросе, и мы можем видеть, что там не так. – anubhava

+0

Хорошо, позвольте мне опубликовать все мои htaccess – pollux1er

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