У меня есть сайт SongsBar.com, когда запрос выполняется на моем сайте, URL-адрес в браузере отображается следующим образом: http://songsbar.com/download.php?q= {search text}. я хочу это быть выглядеть следующим образом http://songsbar.com/download/ {поиска текста} .htmlОчистка URL URL-адрес htaccess
ответ
Во-первых, вам нужно убедиться, что Multiviews (mod_negotiation) выключен, в противном случае это будет бесполезно с файлами и /download.php
.
Затем вам нужно извне перенаправить запросы на download.php
Затем вам нужно внутренне переписать /download/
запросы назад в файл PHP (браузер не обращает внимания на это происходит.
Options -Multiviews
RewriteEngine On
RewriteCond %{THE_REQUEST} \ /+download.php\?q=([^&\ ]+)
RewriteRule^/download/%1.html? [L,R=301,NE]
RewriteRule ^download/(.+)\.html$ /download.php?q=$1 [L,B,QSA]
B
flag may не требуется. Это зависит от того, какие вещи вы планируете вставить в параметр. Флаг гарантирует, что специальные символы будут закодированы.
sir, is r = 301 важен? –
@ raps786 'R' сообщает mod_rewrite, чтобы перенаправить браузер извне, часть' = 301' делает его постоянной переадресацией. –
это дает http://songsbar.com/download/{search text} .html, который я хотел, но с ошибкой 404 :(Я только что скопировал это все и вставил туда –
http://httpd.apache.org/docs/current/mod/mod_rewrite.html
Что-то вроде: RewriteCond% {} REQUEST_FILENAME
Опции + FollowSymLinks RewriteEngine on RewriteCond% {REQUEST_FILENAME} ! -f RewriteCond% {REQUEST_FILENAME}! -d RewriteRule^download /(.*). html download.php? q = $ 1 & p = 1 [L, QSA] –
.htaccess
RewriteEngine On
RewriteRule ^download/([^/]*)\.html$ /download.php?q=$1 [L]
Вы можете добиться этого с что-то в соответствии с:
RewriteEngine On
RewriteBase /download/
RewriteCond %{REQUEST_FILENAME} !-f #if the file actually exists don't rewrite
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /download.php?q=$1 [L]
- 1. Очистка URL-адресов моего htaccess
- 2. URL Очистка с помощью .htaccess
- 3. Очистка URL-адрес с помощью HTAccess
- 4. Очистка URL-адресов с помощью htaccess
- 5. Очистка htaccess от инфекций
- 6. Очистка URL-адреса Redirect Loop
- 7. угловая очистка JavaScript URL
- 8. Очистка URL-адреса
- 9. Очистка данных URL JSon
- 10. Silverstripe: Очистка URL-адресов
- 11. Очистка списка URL-адресов
- 12. Установка Drupal 8.2.4 - Очистка URL-адресов
- 13. Очистка URL-адресов и получение раздела Название
- 14. Очистка URL-адресов, не работающих на сервере.
- 15. очистка url с mod rewrite
- 16. Очистка URL-адреса в PHP
- 17. Очистка моих URL-адресов ASP.NET
- 18. Очистка и удаление части URL
- 19. Очистка URL и сделать дружественную
- 20. Htaccess URL Rewrite multple URL
- 21. Htaccess изменить URL каталога URL
- 22. .htaccess: $ _GET переменную из URL Дружественные HTAccess
- 23. переписывать URL с HTAccess
- 24. Сопоставление URL в HTAccess
- 25. .htaccess перенаправить часть URL
- 26. URL переписывания с .htaccess
- 27. .htaccess перезаписи URL основной
- 28. .htaccess - перенаправление URL недействителен
- 29. .htaccess - url end char (/)
- 30. симпатичный url с .htaccess?
Я хочу, чтобы этот формат - http://songsbar.com/download/{search text} .html отображался прямо в адресной строке страницы результатов поиска. –
, например, при поиске querry на mp3skull.com URL-адрес страницы результатов поиска выглядит следующим образом: http: // mp3skull/mp3/{search text} .html –