у меня есть текущий URL:правила mod_rewrite для чистой URL-адресов с дополнительными параметрами
http://domain.com
Когда вы посещаете эту URL его по умолчанию нагрузок
http://domain.com/index.php
В моей .htaccess у меня есть:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([^/]*)$ /index.php?var1=$1 [L]
RewriteRule ^([^/]*)/([^/]*)$ /index.php?var1=$1&var2=$2 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /index.php?var1=$1&var2=$2&var3=$3 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)$ /index.php?var1=$1&var2=$2&var3=$3&var4=$4 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)$ /index.php?var1=$1&var2=$2&var3=$3&var4=$4&var5=$5 [L]
.htaccess дает 404 для всех страниц, поэтому я уверен, что это неправильно.
Я хочу быть в состоянии иметь все следующие URLS работы
http://domian.com/val1/
http://domian.com/val1/val2/
http://domian.com/val1/val2/val3
http://domian.com/val1/val2/val3/val4/
http://domian.com/val1/val2/val3/val4/val5
Значение они необязательные параметры
Что я делаю неправильно? Как настроить .htaccess для принятия необязательных параметров.
EDIT: У меня было много вопросов в исходном вопросе, поэтому я просто превратил его в еще один легко понятный вопрос. Надеюсь, что я получу ответ.
Проверьте мой ответ. Причина 'http: // domain.com/val1 /' не работает с вашими правилами, объясняется там и исправляется. Вам нужно добавить необязательную привязку к регулярному выражению. Как этот '/? $'. Это все в моем ответе. –
Ваш ответ дал мне ошибку сервера-интернера. Ваше конечное слэш-решение работало как шарм. Спасибо – Marc
Я думаю, это потому, что правила в вашем исходном вопросе находятся в другом порядке. Я их не тестировал. Просто хотел указать причину ошибки. –