.htaccess mod_rewrite объяснение

Я пытался переделать эту модную запись. В основном я хочу:

  • removed.com/WineGlass/Vin.php
  • removed.com/Chandelier/Auto.php

Переводить на:

  • removed.com/news.php?post=Vin.php&cat=WineGlass
  • removed.com/news.php?post=Auto.php&cat=Chandelier

Пока у меня есть:

Options -Multiviews Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^/(.*)/(\w+.php)$ ./news.php?cat=$1&post=$2 

Мое понимание того, что происходит, заключается в том, что он должен попытаться определить, существует ли файл, а если нет, проверьте, соответствует ли он файлу. Если он соответствует шаблону, он должен переписать URL-адрес на желаемый.

  • Я использую GoDaddy.com в качестве моего хоста, и я нашел много сообщений в Интернете, предлагая, что требуется многоязычность.
  • Точная ошибка: запрошенный URL /poz/WineGlass/Vin.php не найден на этом сервере.
  • корень / удаляется /, и именно здесь находится news.php
  • Я использовал regexr.com для проверки регулярного выражения: http://regexr.com?37s5e
  • Бонус: я попытался несколько способов исключить последний URL в приведенном выше примере, но не смог. Если вы можете помочь с этим, я буду очень благодарен.

Related of ".htaccess mod_rewrite объяснение"

Используйте это правило в файле DOCUMENT_ROOT/.htaccess :

 Options +FollowSymLinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)/([^.]+\.php)$ /news.php?cat=$1&post=$2 [L,QSA]