Я впервые изучаю использование переписывания htaccess / mod, и у меня возникли небольшие проблемы с редиректом / маской.
В моей корневой папке есть тестовый каталог с именем modrw
, в этой папке есть файл index.php
с простым и приятным:
<?php echo $_GET['name']; ?>
В браузере, если я наберу www.domain.com/modrw/{word}/
, тогда слово отображается на странице, что я и хочу.
Если я наберу www.domain.com/modrw/name={word}
, то меня перенаправят на www.domain.com/modrw/{word}/
, и слово также будет отражено, как я и предполагал.
Однако, если я указываю браузеру URL-адрес www.domain.com/modrw/?name={word}/
, слово отображается, но меня не перенаправляют на www.domain.com/modrw/{word}/
, как я и надеялся.
Как ?
вызывает проблемы? В коде RewriteRule ниже ?
включен, я пробовал несколько разных способов, но не могу заставить его работать.
Вот мой файл htaccess:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]
RewriteRule ^modrw/?name=([^/\.]+)/?$ http://www.domain.com/modrw/$1 [R]
RewriteRule ^modrw/([^/\.]+)/?$ modrw/?name=$1
В чем причина проблемы, есть ли конкретный способ включить ?
, он вообще не подхватывает это? Я принимаю совершенно неправильный подход?
Я также пытался использовать Options +FollowSymlinks
, но я не совсем уверен, что это делает, и не нужно ли это вообще ...