2017-11-13 8 views
0

작동하지 않기 때문에 htaccess 규칙에 문제가 있습니다. 나는 이미 Google에서 어떤 해결책을 찾으려고하지만 아직 찾지 못했습니다. 코드는 다음과 같습니다.htaccess 여러 매개 변수가 작동하지 않습니다 [sloved]

RewriteEngine ON 
RewriteBase /deshop/ 
RewriteCond %{REQUEST_URI} ^/deshop/admin(.+)$ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+)$ admin/index.php [L,QSA] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]*)$ index.php?p=$1 [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]*)/([^\s]+)$ index.php?p=$1&b=$2 [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]*)/([0-9]+)$ index.php?p=$1&id=$2 [L] 

URL이 정상적으로 작동됩니다

http://localhost/deshop/index.php to http://localhost/deshop/ -> home page from folder 
http://localhost/deshop/admin/index.php to http://localhost/deshop/admin/ -> admin page from subfolder 
http://localhost/deshop/index.php?p=tshirts to http://localhost/deshop/tshirts/ 
http://localhost/deshop/index.php?p=brand&b=John%20Player to http://localhost/deshop/brand/John-Player/ 

그래서 그런 일이, 마지막 규칙이 작동하지 않습니다.

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]*)/([0-9]+)$ index.php?p=$1&id=$2 [L] 

하지만 마지막 규칙이 아직 적용되지 않았습니다. 나는 정말로 어렵다. 매개 변수가있는 URL을 가져 와서 작업을 보려합니다.

http://localhost/deshop/index.php?p=single&id=0005 to http://localhost/deshop/single/0005 

또는 무엇이 잘못 되었나요? 어떤 해결책? 너 나 좀 도와 줄 수있어? 고마워. 그건 그렇고, 제 영어는 좋지 않습니다. 죄송 해요!

답변

0

마지막으로 해결했습니다.

RewriteEngine ON 

RewriteCond %{REQUEST_URI} ^/miistore/miiadmin$ 
RewriteRule ^(.+)$ miiadmin/index.php [L,QSA] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/?$ index.php?p=$1 [L,QSA] 

RewriteRule ^/?single/([^/d]+)/?$ index.php?p=single&id=$1 [L,QSA] 
RewriteRule ^/?brand/([^\s]+)/?$ index.php?p=brand&b=$1 [L,QSA]