Htaccess URL переписать помощь - PullRequest
0 голосов
/ 10 марта 2011

У меня есть этот htaccess


RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.test\.com$ [NC]
RewriteRule ^(.*)$ http://www.test.com/$1 [R=301,L]



RewriteRule ^home.html$ index__.php [L]
RewriteRule ^prodotti.html$ prodotti.php [L]
RewriteRule ^azienda.html$ azienda.php [L]
RewriteRule ^news.html$ news.php [L]
RewriteRule ^outlet.html$ outlet.php [L]
RewriteRule ^contatti.html$ contatti.php [L]

RewriteRule ^news-(.*).html$ news.php?id=$1 [L]

RewriteRule ^arr.html$ prodotti-cat.php?cat=a [L]
RewriteRule ^sed.html$ prodotti-cat.php?cat=s [L]
RewriteRule ^par.html$ prodotti-cat.php?cat=p [L]
RewriteRule ^cont.html$ prodotti-cat.php?cat=c [L]
RewriteRule ^comp.html$ prodotti-cat.php?cat=co [L]

RewriteRule ^outlet/([a-zA-Z0-9_-]+).html$ outlet-dett.php?prd=$1 [L]

RewriteRule ^(.*)/(.*)/$ prodotti-cat.php?cat=$1&f=$2 [L]
RewriteRule ^(.*)/(.*).html$ prodotti-dett.php?cat=$1&prd=$2 [L]

Если я напишу в своем браузере http://www.test.it/outlet/test-2.html, я НЕ НАЙДЕН ... Почему ???Помогите !!!

1 Ответ

0 голосов
/ 10 марта 2011

http://www.test.it/outlet/test-2.html будет переведено на

http://www.test.it/outlet-dett.php?prd=test-2

Проверьте, существует ли этот файл.

Все, что после и включая символ ?, называется строкой запроса , поэтому так оно и есть:

  • Сервер загружается outlet-dett.php
  • и передает ему переменную с именем prd со значением test-2.
  • затем PHP-скрипт в outlet-dett.php отображает данные в зависимости от значения prd.

$1 в вашем правиле перезаписи называется обратная ссылка . Он ссылается на совпадение первой круглой скобки в вашем RegEx.

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