Как добавить несколько имен в URL?

#php #regex #apache #.htaccess #mod-rewrite

#php #регулярное выражение #apache #.htaccess #мод-переписать

Вопрос:

У меня есть know more кнопка на моем веб-сайте, и когда я нажимаю на know more кнопку, мне нужно перенаправить на product.php страницу. Ниже приведен код, который я использую, и он работает.

 <a href="product">Know More</a>
  

Теперь мне нужно переписать URL с http://example.com/product.php на

 http://example.com/products/products2/products3/products
  

Я попробовал приведенный ниже код

 RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.] )$ $1.php [NC,L]

RewriteRule ^products/products2/products3/products$ product.php [L]
  

но это не работает. Не могли бы вы помочь мне с правилами перезаписи?

Я тоже пробовал это

 RewriteRule ^products/products2/products3/products product.php
  

Комментарии:

1. ^ Символ означает, что что-то начинается с вышеупомянутого шаблона. Я не эксперт в правилах перезаписи, но вы пробовали RewriteRule ^/products product.php ?

2. @NotAnerd, я протестировал ваше правило здесь, но оно не работает. Я получаю сообщение об ошибке «Ой, похоже, страница потеряна». Я использую хостинг hostinger.

3. href="product" ? это даже не при перезаписи

4. ^^^ Это правда, так и было бы product.php . Возможно, именно поэтому ваша страница потеряна .

5. @LawrenceCherone, но я использовал некоторый код htaccess, чтобы удалить php из URL.

Ответ №1:

Пусть будет так:

 RewriteEngine On

# match specific URI
RewriteRule ^products/products2/products3/products/?$ product.php [L,NC]

# php estension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(. ?)/?$ $1.php [L]
  

Обратите внимание на измененный порядок ваших правил и проверку наличия .php файла перед добавлением .php перед URI.

Комментарии:

1. сэр, дайте мне время, чтобы проверить ваш ответ.

2. Да, после добавления вашего ответа в htaccess я использовал прямой URL example.com/products/products2/products3/products и это работает.

3. Мне нужно знать, откуда вы изучаете правила htacces? Я должен понять ответ. Я получал проблему за последние 10 дней, и вы решили ее в течение 5 минут. Оцените вашу помощь.

4. Также мне нужно знать, я должен использовать <a href=»product»>Подробнее</a> или <a href=»products/products2/products3/products»>Подробнее</a> на моей веб-странице?

5. Вы можете использовать любую из этих 2 href ссылок на своей веб-странице в соответствии с вашими требованиями. Оба будут обслуживаться product.php файлом. Я узнал о переписывании правил и т. Д. Из старых ответов на сайтах Stackexchange.