Я хочу показать URL
http://some.com/designit/portfolio.php?cat=website&subcat=nature
так как
http://some.com/designit/portfolio/website/nature.
cat
и subcat
в URL может присутствовать, но не всегда.
Я поместил этот файл .htaccess в папку designit:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]
RewriteRule ^portfolio/?$ portfolio.php[NC,QSA]
RewriteRule ^portfolio/([a-zA-Z0-9_-]+)/?$ portfolio.php?cat=$1[L,NC,QSA]
Теперь это показывает
..some.com/designit/portfolio.php
так как
..some.com/designit/portfolio
но это не показывает
..some.com/designit/portfolio.php?cat=website
так как
..some.com/designit/portfolio/website
Я получаю сообщение «Внутренняя ошибка сервера. Сервер обнаружил внутреннюю ошибку или неправильную конфигурацию и не смог выполнить ваш запрос».
Что мне нужно сделать, чтобы это исправить?
Вот ваше решение:
http://some.com/designit/portfolio/website/nature
должен дать
http://some.com/designit/portfolio.php?cat=website&subcat=nature
Вам нужно только одно правило перезаписи:
RewriteEngine On
RewriteRule /designit/portfolio/([a-z]+)/([a-z]+)$ /designit/portfolio.php?cat=$1&subcat=$2
Обратите внимание:
Поместите ваше более конкретное правило, второе, перед общим правилом, и оно должно сработать.
См. Ниже URL: Может вам помочь.
Попробуйте ниже:
RewriteEngine on
RewriteRule ^portfolio/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ /disignit/portfolio.php?first-var=$1&second-var=$2 [NC]