Я пробовал некоторые другие ответы, которые я мог найти здесь, но это не сработало. Это действительно просто.Реализация «дружественных» URL-адресов с использованием .htaccess
Я хочу
/page?id=PAGENAME
быть доступным и перенаправляется
/PAGENAME
Можете ли вы мне помочь?
EDIT:
Он чувствует, как моя уже запутанных вверх .htaccess файл должен быть включен здесь. У меня уже включена базовая перезапись, но эта функция необходима для двух других «специальных страниц». В запрошенном выше решении я бы поэтому просто заменил «страницу» на два pagenames (это датские имена, поэтому я решил, что это проще).
В настоящее время у меня есть это. Если у вас есть какие-либо улучшения в этом, это оценено - но я просто хочу, чтобы это работало с запрошенным решением.
# Options -Multiviews -Indexes +FollowSymLinks
RewriteEngine On
RewriteBase/
# Always on https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
# remove trailing slash
#RewriteRule ^(.*)\/(\?.*)?$ $1$2 [R=301,L]
#301 Redirect everything .php to non php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+\.)+php?\ HTTP
RewriteRule (.+)\.php?$ http://MYURL.dk/$1 [R=301,L]
#Hide the .php from url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
#301 Redirect everything mistype after file extension -
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
#301 Redirect everything to current url -
RedirectMatch permanent /(.*).php/.* http://MYURL.dk/$1.php
RewriteCond %{REQUEST_FILENAME} -D
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [L]
#301 Redirect from non www to www
RewriteCond %{HTTP_HOST} ^www.MYURL.dk [NC]
RewriteRule (.*) http://MYURL.dk/$1 [R=301,L]
#301 redirect index.php to/
RewriteBase/
RewriteCond %{REQUEST_URI} index.php
RewriteRule .* http://MYURL.dk/ [R=301,L]
#Deny access to songs
RewriteCond $1 !(loadmedia)\.php
RewriteRule ^songs/(.*)$ - [L,F]
«просто заменить' page' с двумя Имена страниц»- Я полагаю, вы имеете в виду' pagename' ? В вашем текущем файле .htaccess есть некоторые вещи, которые по крайней мере нуждаются в «уходе». Я не думаю, что '-D' является допустимым атрибутом? Похоже, вы должны проверить каталог, который является '-d' (строчный). Кроме того, порядок директив важен. Внешние переадресации должны поступать во внутренние перезаписи. У вас есть канонические переадресации в конце вашего файла - они должны быть наверху! Включите только «RewriteEngine» и «RewriteBase». Не смешивайте переадресацию mod_alias и mod_rewrite. – MrWhite