#.htaccess
#.htaccess
Вопрос:
извините за этот простой вопрос, однако я все еще не могу прийти в себя, используя .htaccess
Я пытаюсь преобразовать:
поиск.php?s=dvdamp;страница=1
Для
/Search/dvd/page1.html
Спасибо,
Джек
Ответ №1:
Я думаю, что что-то вроде:
RewriteRule ^search/([A-Za-z] )/page([0-9] ).html$ search.php?$1amp;page$2
Должно сработать.
Дальнейшее чтение здесь:http://www.webforgers.net/mod-rewrite/mod-rewrite-syntax.php
Ответ №2:
вы должны поместить свою ссылку « /Search/dvd/page1.html
» на страницу, и с помощью htaccess она преобразуется в « search.php?s=dvdamp;page=1
» . я надеюсь, что это будет полезно 🙂
пример правильного кода htaccess :
RewriteEngine On
RewriteRule Search/(d )/page?(d ).html$ search.php?s=$1amp;page=$2 [NC,L]
Комментарии:
1. Это не сработает, потому что RewriteRule соответствует только REQUEST_URI, а не QUERY_STRING
2. протестируйте это: RewriteRule Search/ ([A-Za-z] ) / страница? (d ).html$ search.php?s=$1amp;page=$2 [NC,L]
Ответ №3:
Если я понимаю вопрос, OP хочет преобразовать php в перенаправление html. Попробуйте это правило в вашем файле .htaccess:
RewriteEngine on
Options FollowSymlinks -MultiViews
# to match /search.php?s=dvdamp;page=1
RewriteCond %{QUERY_STRING} ^s=([^amp;]*)amp;page=(.*)$ [NC]
RewriteRule ^search.php/?$ /Search/%1/page%2.html? [R,L,NC]
# to match /search.php?page=12amp;s=dvd
RewriteCond %{QUERY_STRING} ^page=([^amp;]*)amp;s=(.*)$ [NC]
RewriteRule ^search.php/?$ /Search/%2/page%1.html? [R,L,NC]
R = 301 перенаправит со статусом https 301
Я введу последнее правило
NC не предназначен для сравнения регистров
%1 и %2 являются значениями параметров запроса
Ответ №4:
Я думаю, вы хотите сделать чистый URI, поэтому, если пользователь вводит URL, подобный этому:
search/televisi/page4.html
это то же самое, что search.php?s=dvdamp;page=1
Добавьте этот код:
RewriteEngine On
RewriteRule ^search/([a-z] )/page([1-9] ).html$ search.php?s=$1amp;page=$2