2015-05-26 2 views
0

Я работаю над веб-сайтом, и теперь я хочу отредактировать файл htaccess, чтобы изменить URL-адрес с переменной get. Но я смотрю в интернете информацию без успеха.rewrite get variables в url

http://xxxxx.domain/massage.php?massage= {massageName}

это ссылка, и я хочу, чтобы это выглядело, как это

http://xxxxx.domain/massage/ {massageName}

Может кто-то помочь мне с этим ??

Мартейн

ответ

1

Try:

Options -Multiviews 
RewriteEngine On 

RewriteCond %{THE_REQUEST} \ /+massage\.php\?massage=([^&\ ]+) 
RewriteRule^/massage/%1? [L,R] 

RewriteRule ^massage/(.+)$ /massage.php?massage=$1 [L,QSA] 
  1. Убедитесь, чтобы включить от MultiViews, который является mod_negotiation функцией, которая будет упреждающей влиять на запрос до mod_rewrite может работать.
  2. Вам необходимо правило для перенаправления браузера с URL-адреса строки запроса на более привлекательный URL-адрес, затем браузер отправит второй запрос на более удобный URL-адрес.
  3. Затем вам необходимо правило, чтобы внутренне переписать привлекательный URL-адрес к строке с строкой запроса. Это происходит полностью на сервере.
+0

@ mbakker1996 это, вероятно, потому, что ваш контент использует относительные ссылки вместо абсолютных ссылок. Относительные ссылки требуют, чтобы браузер выбирал относительную базу URI, и он делает это на основании того, что он показывает в строке местоположения. Строка местоположения теперь содержит дополнительный путь '/', поэтому вместо перехода на '/ main.css' он переходит в'/massage/main.css'. Браузер ничего не знает о перезаписывании, внутреннем для сервера. Поэтому либо измените свои ссылки на абсолютные URL-адреса (они начинаются с '/'), либо добавьте базу URL-адресов в заголовки страниц: '' –