Переписать и перенаправить на URL - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть следующие правила:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ ./user/?user=$1 [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(profile/)([^/]+)/?$ ./$1?user=$2 [QSA,L]

, которые отображают содержимое www.mydomain.com/user?user=myuser, когда я пишу www.mydomain.com/myuser, и содержимое www.mydomain.com/profile?user=myuser, когда я пишу www.mydomain.com/profile/myuser.

Теперь я хочу перенаправить с www.mydomain.com/user?user=myuser на www.mydomain.com/myuser и с www.mydomain.com/profile?user=myuser на www.mydomain.com/profile/myuser, у кого есть старая ссылка на запрос.

RewriteCond %{QUERY_STRING} ^user=([.*]+)&?[.*]? [NC]
RewriteRule ^(.*)$ /$2/$1 [R=302,L]

Почему это не работает?

РЕДАКТИРОВАТЬ: первые правила работают, моя проблема с перенаправлением на новую страницу

1 Ответ

0 голосов
/ 06 апреля 2020

Я думаю, прежде всего вы должны проверить, что .htaccess включен, попробуйте добавить это в него:

order deny,allow
deny from all

после этого refre sh вашей страницы, и если вы получите ошибку 403 .htaccess is работая

Я нашел это:

https://help.dreamhost.com/hc/en-us/articles/215747748-How-can-I-redirect-and-rewrite-my-URLs-with-an-htaccess-file-

RewriteEngine On
RewriteRule ^([0-9]+).html /abc.php?id=$1 [QSA,L]

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

...