Я новичок в правиле перезаписи, и у меня возникла небольшая проблема с моим .htaccess
RewriteEngine On
RewriteRule ^toto\.html$ /toto.php [NC,L]
RewriteCond %{REQUEST_URI} !^/(my|your)/template\.html [NC]
RewriteCond %{REQUEST_URI} !^/(my|your)/example\.html [NC]
RewriteRule ^([^/]*)/([^/]*)/([^\.]*)\.html$ /$1.php?type=$2&name=$3 [NC,L]
RewriteRule ^([^/]*)/([^\.]*)\.html$ /index.php?type=$1&name=$2 [L]
RedirectMatch 404 \.(htaccess|htpasswd|ini|log|sh|inc|bak|bkp|sql|json)$
Я проверил его на https://htaccess.madewithlove.be/, что всегда дает мне правильное переписывание.
Когда я проверяю это на своем веб-хостинге:
Я перехожу на http://mydomain.ovh/my/object.html
Перезапись вправо : http://mydomain.ovh/index.php?type=my&name=object
Нокогда я иду к
Переписано неправильно : запрошенный URL /redirect:.php не был найден на этом сервере.
Я не понимаю этого поведения...
Итак, я протестировал новые правила перезаписи, создав общий сценарий для действия записи / заполнения:
RewriteEngine On
RewriteRule ^toto\.html$ /toto.php [NC,L]
RewriteCond %{REQUEST_URI} ^/extract/(my|your)/[^\.]+\.html$ [NC]
RewriteRule ^([^/]*)/([^/]*)/([^\.]*)\.html$ /extract.php?type=$2&name=$3 [L]
RewriteCond %{REQUEST_URI} !^/extract.* [NC]
RewriteCond %{REQUEST_URI} !^/(my|your)/template\.html [NC]
RewriteCond %{REQUEST_URI} !^/(my|your)/example\.html [NC]
RewriteRule ^([^/]*)/([^/]*)/([^\.]*)\.html$ /set.php?type=$2&name=$3 [NC,L]
RewriteRule ^([^/]*)/([^\.]*)\.html$ /index.php?type=$1&name=$2 [L]
RedirectMatch 404 \.(htaccess|htpasswd|ini|log|sh|inc|bak|bkp|sql|json)$
Я протестировал его на https://htaccess.madewithlove.be/, что всегда дает мне правопереписать.
И когда я проверяю его на своем веб-хостинге:
я перехожу к http://mydomain.ovh/my/object.html
Переписать это вправо : http://mydomain.ovh/index.php?type=my&name=object
Я перехожу к http://mydomain.ovh/fill/my/object.html или http://mydomain.ovh/write/your/data.html
Перезапись вправо : http://mydomain.ovh/set.php?type=my&name=object or http://mydomain.ovh/set.php?type=your&name=data
Но когда я перехожу к http://mydomain.ovh/extract/my/object.html или http://mydomain.ovh/extract/your/data.html
Перезапись всегда неверна : запрос достигает сценария, но безСтрока запроса ... (и, кажется, это перенаправление?)
["PATH_TRANSLATED"]=>
string(19) "redirect:/index.php"
["PATH_INFO"]=>
string(30) "/my/object.html"
["SCRIPT_NAME"]=>
string(11) "/extract.php"
["REQUEST_URI"]=>
string(37) "/extract/my/object.html"
["QUERY_STRING"]=>
string(0) ""
["PHP_SELF"]=>
string(41) "/extract.php/my/object.html"
Может ли кто-нибудь помочь с этими правилами перезаписи?