2016-02-12 2 views
0

Как я могу преобразовать URL из:
http://example.com/site/delete-page.php?site=first & страницы = второйRewrite URL с .htaccess для 2-х параметров

Для :
http://example.com/site/first/delete-page/second

Спасибо!

+1

Общий намек: такие вопросы часто получают плохую обратную связь. В руководящих принципах, как здесь задавать вопросы, четко сформулированы две вещи: 1. вы должны иметь минимальное понимание темы, к которой относится ваш вопрос, и 2. вы должны проявить собственные усилия, чтобы решить проблему, прежде чем спрашивать здесь ... – arkascha

ответ

1

Это нормальное правило для этой конкретной задачи:

RewriteEngine on 
RewriteRule ^/site/([^/]+)/delete-page/(.+)$ /site/delete-page.php?site=$1&page=$2 [L] 

Чтобы использовать те же правила внутри файла в .htaccess стиле, вы должны изменить его немного: удалить ведущую косую черту (/) от модели и цели:

RewriteEngine on 
RewriteRule ^site/([^/]+)/delete-page/(.+)$ site/delete-page.php?site=$1&page=$2 [L] 

Это предполагает, что файл .htaccess стиля расположен в папке холдинга папки site. Вы также можете поместить файл внутри этой папки site, то, очевидно, вам нужно удалить часть site/ из шаблона правил и цели. Кроме того, вы должны позаботиться о том, чтобы интерпретация файлов стиля .htaccess была включена вообще для этого хоста и местоположения.


В общем, вы всегда должны отдавать предпочтение первой версии и размещать такие правила внутри своей конфигурации хостов HTTP-серверов. .htaccess файлы стиля, как известно, подвержены ошибкам, трудно отлаживать и они действительно замедлить работу сервера. Они предлагаются только в качестве последнего варианта для ситуаций, когда у вас нет доступа к конфигурации сервера. Например, при использовании действительно дешевого общедоступного веб-хостера ...