繁体   English   中英

用htaccess将url?page = 2重写为/ page / 2?

[英]rewrite url ?page=2 to /page/2 with htaccess?

如何重写目录photos URL?

http://www.abc.com/photos/index.php?page=2http://www.abc.com/photos/page/2

我的.htaccess

# Turn mod_rewrite on
RewriteEngine on
RewriteBase /
...
RewriteRule ^photos/page/([0-9]+) index.php?page=$1
RewriteRule ^photos/index.php?page=([0-9]*)$ /photos/page/$1 [R=301,L]

您没有提到哪些字符串是动态的,所以我为此答案假定page2是可变的。

您可以尝试以下方法:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !index\.php                 [NC]
RewriteCond %{REQUEST_URI} ^/photos/([^/]+)/([^/]+)/?  [NC]
RewriteRule .*      photos/index.php?%1=%2          [L,QSA]

内部地图

http://www.abc.com/photos/key/val带有或不带有斜杠

至:

http://www.abc.com/photos/index.php?key=val

假定字符串keyval是可变的,而假定photos是固定的。

对于永久的和可见的重定向,请将[L,QSA]替换为[R=301,L,QSA]

RewriteEngine On
RewriteRule ^photos/page/([a-zA-Z0-9-/]+)$ photos/index.php?page=$1 [QSA]
RewriteRule ^photos/page/([a-zA-Z0-9-/]+)/$ photos/index.php?page=$1 [QSA]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM