使用htaccess重写长URL

时间:2017-04-06 06:01:31

标签: .htaccess url mod-rewrite

如果我有这样的网址:

http://www.example.com/book.php?translate=id&surah=1&verse=1&and=4&audio=on&hl=yes

我希望像这样重写新网址:

http://www.example.com/quran/id/1/1/4/on/hl/

如何在htaccess中执行此操作?

3 个答案:

答案 0 :(得分:2)

如果您想要hl yes这就是您想要的:

RewriteEngine On
RewriteRule    ^quran/?([A-Za-z0-9]+)?/?([A-Za-z0-9]+)?/?([A-Za-z0-9]+)?/?([A-Za-z0-9]+)?/?([A-Za-z0-9]+)?/?([A-Za-z0-9]+)?/?$    book.php?translate=$1&surah=$2&verse=$3&and=$4&audio=$5&hl=$6    [NC,L]

答案 1 :(得分:0)

要在php中使用它,你可以修改htaccess中的put

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^.*$ ./index.php

在index.php中

<?php
  #In here you remove the path you don't want
  $request  = str_replace("/envato/pretty/php/", "", 
  $_SERVER['REQUEST_URI']);
  #get the params by splitting
  $params = split("/", $request);
?>

答案 2 :(得分:0)

我不知道您使用的是哪个版本,但您可以在文档中找到它

然后你需要设置“URL_MODE”