Php 修改修改后的链接

Php 修改修改后的链接,php,regex,apache,.htaccess,mod-rewrite,Php,Regex,Apache,.htaccess,Mod Rewrite,在Stack Overflow的帮助下,我成功地更改了我的链接,使它们对用户和搜索引擎更加友好。此URLhttp://www.showcase.zz.mu/oferta.php?tip=Club&nume=Goblin&localitate=Bucuresti&judet=Bucuresti&id=52138700c4d7c已更改为此URLhttp://showcase.zz.mu/oferta/Club-Goblin-Bucuresti-Bucuresti-52138700c4d7c.php。

在Stack Overflow的帮助下,我成功地更改了我的链接,使它们对用户和搜索引擎更加友好。此URL
http://www.showcase.zz.mu/oferta.php?tip=Club&nume=Goblin&localitate=Bucuresti&judet=Bucuresti&id=52138700c4d7c
已更改为此URL
http://showcase.zz.mu/oferta/Club-Goblin-Bucuresti-Bucuresti-52138700c4d7c.php
。如果我尝试手动访问新URL,它会正常工作。但是,在我的搜索页面上,生成的链接仍然是旧链接,访问动态生成的页面时,URL保持不变

这是我的.htacess内容:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On

RewriteRule ^oferta/([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)\.php$ /oferta.php?tip=$1&nume=$2&localitate=$3&judet=$4&id=$5 [NC,L,QSA]
这是在PHP中生成链接的代码:

echo "<a href='oferta.php?tip={$result['tip_locatie']}&nume={$result['denumire_locatie']}&localitate={$result['localitate']}&judet={$result['judet']}&id={$result['id_oferta']}'><p style='margin-top: -5px;'>View page</p></a>";

如果你还有什么需要看的,请告诉我。在降级之前也请让我知道,以便我可以编辑我的问题。谢谢大家!

对于从旧URL到新URL的外部重定向,您需要一个附加规则。您的代码如下所示:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+oferta\.php\?tip=([^&]*)&nume=([^&]*)&localitate=([^&]*)&judet=([^&]*)&id=([^\s&]*) [NC]
RewriteRule ^ /oferta/%1-%2-%3-%4-%5.php? [R=301,L]

RewriteRule ^oferta/([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)\.php$ /oferta.php?tip=$1&nume=$2&localitate=$3&judet=$4&id=$5 [NC,L,QSA]

您需要一个从旧URL到新URL的外部重定向的附加规则。您的代码如下所示:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+oferta\.php\?tip=([^&]*)&nume=([^&]*)&localitate=([^&]*)&judet=([^&]*)&id=([^\s&]*) [NC]
RewriteRule ^ /oferta/%1-%2-%3-%4-%5.php? [R=301,L]

RewriteRule ^oferta/([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)\.php$ /oferta.php?tip=$1&nume=$2&localitate=$3&judet=$4&id=$5 [NC,L,QSA]

我认为这是可行的,需要调整我的PHP代码,没想到会这么简单。你知道有什么好的来源可以让我学到这些东西吗?我说的不仅仅是mod_重写,而是整个.htaccess的内容。我能用它做什么,怎么做。再次感谢你!不客气,很高兴它成功了。在我看来,在Stackoverflow answers上的谷歌搜索可能是这些东西的最佳来源。好吧,我试试看!我认为这是可行的,需要调整我的PHP代码,没想到会这么简单。你知道有什么好的来源可以让我学到这些东西吗?我说的不仅仅是mod_重写,而是整个.htaccess的内容。我能用它做什么,怎么做。再次感谢你!不客气,很高兴它成功了。在我看来,在Stackoverflow answers上的谷歌搜索可能是这些东西的最佳来源。好吧,我试试看!