php - 如何在htaccess中为这个查询字符串url重写url

php - 如何在htaccess中为这个查询字符串url重写url,第1张

我已经尝试了以下网址的许多重写规则,但我没有取得任何成功。我研究了很多,浪费了我的2天。

我需要这个网址是这样的 我需要从

重写网址

http://localhost/tour/tour.php?page=golden-triangle-tour

http://localhost/tour/tour/golden-triangle-tour

请指导我htaccess修复此问题。

最佳答案:

2 个答案:

答案 0 :(得分:2)

您可以在/tour/.htaccess文件中使用此代码:

RewriteEngine On
RewriteBase /tour/

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} /tour\.php\?page=([^\s&] ) [NC]
RewriteRule ^ tour/%1? [R=302,L,NE]

RewriteCond %{THE_REQUEST} /tour/(. ?)\.php[\s?] [NC]
RewriteRule ^ %1 [R=302,L,NE]

# internal forward from pretty URL to actual one
RewriteRule ^tour/([^/.] )/?$ tour.php?page= [L,QSA,NC]

# To internally forward /dir/file to /dir/file.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/toure/\.php -f [NC]
RewriteRule ^(. ?)/?$ .php [L]

答案 1 :(得分:0)

另一种解决方案:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^page=([^&] ) [NC] 
RewriteRule ^tour.php$ /tour/%1? [NC,R,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^tour/([^/] )/?$ /tour.php?page= [QSA,L,NC]
本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复