通过查询数据库值(例如stackoverflow.com URL)进行重定向

抗醋

因此,我使用以下htaccess代码将URL重定向到干净的URL,但是现在我需要做的是将原始URL重定向到新的干净的URL。

例子

原始网址:

example.com/search/store_info.php?store=113&dentist=Dr.%20John%20Doe

干净的网址:

example.com/search/113/dr-john-doe

我需要的是“原始URL ”,以重定向到“ CLEAN URL ”。之所以需要执行此操作,是因为这两个URL都显示在Google搜索中。

我只希望显示干净的URL,并且只要使用原始URL,它便应自动重定向到干净的URL。它目前不这样做。

这是我的htaccess文件。

ErrorDocument 404 default

<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On    
RewriteBase /search/

RewriteCond %{QUERY_STRING} .
RewriteCond %{THE_REQUEST} /store_info\.php\?store=([a-z0-9]+)&dentist=([^\s&]+) [NC]
RewriteRule ^ %1/%2/? [L,NE,R=301]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_URI} \.(?:jpe?g|gif|bmp|png|ico|tiff|css|js)$ [NC]
RewriteRule ^ - [L]

RewriteRule ^([a-z0-9]+)/([^\s.]*)[.\s]+(.*)$ $1/$2-$3 [NC,DPI,E=DONE:1]

RewriteCond %{ENV:DONE} =1
RewriteRule ^([0-9a-z]+)/([^\s.]+)$ $1/$2 [R=301,NE,L]

RewriteRule ^([a-z0-9]+)/([a-z0-9-]+)/?$ store_info.php?store=$1&dentist=$2 [QSA,L,NC]

</IfModule>

我已经阅读了有关RedirectMatch的信息,但是我不知道在何处将其实现到htaccess文件中。

阿努巴瓦

在您的内部store_info.php有这样的代码:

<?php
$store = $_GET['store'];

if (empty($store)) {
   header("HTTP/1.1 404 Not Found");
   exit;
}

$dentist = $_GET['dentist']);

// pull dentist from DB by store id. Create this function in PHP and
// query your database
$dentistFromDB = preg_replace('/[\h.]+/', '-', $row['businessName']);

// DB returns an empty or no value
if (empty($dentistFromDB)) {
   header("HTTP/1.1 404 Not Found");
   exit;
}

// DB returned value doesn't match the value in URL
if ($dentistFromDB != $dentist) {
   // redirect with 301 to correct /<store>/<dentist> page
   header ('HTTP/1.1 301 Moved Permanently');
   header('Location: /' . $store . '/' . $dentistFromDB);
   exit;
}

// rest of the PHP code should come now

?>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

POST后进行重定向并传递数据时,重定向URL的持久性

来自分类Dev

按 html 联系表单的值进行可变 URL 重定向

来自分类Dev

Htaccess使用数据库中的值进行重定向

来自分类Dev

已发布的https://docs.google.com/spreadsheets重定向到其他URL(CSV数据)

来自分类Dev

htaccess 301通过剥离部分字符串url进行重定向以更正url

来自分类Dev

通过 .htaccess 进行 301 重定向不要重定向

来自分类Dev

我想使用python-social-auth通过vk.com进行授权,并在重定向uri时出错

来自分类Dev

如何正确重定向,重定向时,查询输入值不会进入数据库

来自分类Dev

通过.Htaccess进行URL重定向在Php Codeigniter中不起作用

来自分类Dev

为多个(128)数据库值进行(PHP)重定向功能的有效方法

来自分类Dev

通过commandButton进行JSF重定向

来自分类Dev

通过.htaccess使用模式进行重定向

来自分类Dev

通过在iOS Swift中对两个值进行排序来查询Firebase数据库

来自分类Dev

URL包含查询的htaccess重定向

来自分类Dev

URL包含查询的htaccess重定向

来自分类Dev

通过.htaccess重定向域/ URL

来自分类Dev

通过AWS Lambda重定向URL

来自分类Dev

通过.htaccess重定向多个URL

来自分类Dev

通过.htaccess重定向域/ URL

来自分类Dev

htaccess 通过添加参数重定向url

来自分类Dev

根据 URL 值重定向页面

来自分类Dev

使用发布数据重定向URL

来自分类Dev

如何通过angularjs中的查询参数重定向url?

来自分类Dev

如何通过请求库获取重定向的URL或其内容?

来自分类Dev

如果数据库具有特定值,则重定向

来自分类Dev

重定向到数据库表值

来自分类Dev

通过Ignite CacheStore或数据库进行SQL查询

来自分类Dev

如何从重定向的URL获取查询数据

来自分类Dev

如果用户的ip位于数据库中,则无法进行重定向

Related 相关文章

  1. 1

    POST后进行重定向并传递数据时,重定向URL的持久性

  2. 2

    按 html 联系表单的值进行可变 URL 重定向

  3. 3

    Htaccess使用数据库中的值进行重定向

  4. 4

    已发布的https://docs.google.com/spreadsheets重定向到其他URL(CSV数据)

  5. 5

    htaccess 301通过剥离部分字符串url进行重定向以更正url

  6. 6

    通过 .htaccess 进行 301 重定向不要重定向

  7. 7

    我想使用python-social-auth通过vk.com进行授权,并在重定向uri时出错

  8. 8

    如何正确重定向,重定向时,查询输入值不会进入数据库

  9. 9

    通过.Htaccess进行URL重定向在Php Codeigniter中不起作用

  10. 10

    为多个(128)数据库值进行(PHP)重定向功能的有效方法

  11. 11

    通过commandButton进行JSF重定向

  12. 12

    通过.htaccess使用模式进行重定向

  13. 13

    通过在iOS Swift中对两个值进行排序来查询Firebase数据库

  14. 14

    URL包含查询的htaccess重定向

  15. 15

    URL包含查询的htaccess重定向

  16. 16

    通过.htaccess重定向域/ URL

  17. 17

    通过AWS Lambda重定向URL

  18. 18

    通过.htaccess重定向多个URL

  19. 19

    通过.htaccess重定向域/ URL

  20. 20

    htaccess 通过添加参数重定向url

  21. 21

    根据 URL 值重定向页面

  22. 22

    使用发布数据重定向URL

  23. 23

    如何通过angularjs中的查询参数重定向url?

  24. 24

    如何通过请求库获取重定向的URL或其内容?

  25. 25

    如果数据库具有特定值,则重定向

  26. 26

    重定向到数据库表值

  27. 27

    通过Ignite CacheStore或数据库进行SQL查询

  28. 28

    如何从重定向的URL获取查询数据

  29. 29

    如果用户的ip位于数据库中,则无法进行重定向

热门标签

归档