0

假设我有一个指向我的页面之一的链接:mysite.com/48YSWD96,我需要它看起来像:mysite.com/?d=48YSWD96。我如何实现这一目标?我可以通过修改我的 htaccess 文件来实现这一点吗?目前看起来像这样......

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
RewriteBase /
4

1 回答 1

0

看起来您只需要将其附加到末尾:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([A-Za-z0-9]+)$ /?id=$1 [L]

让它反过来工作:

RewriteCond %{QUERY_STRING} (^|&)id=([A-Za-z0-9]+)($|&)
RewriteRule ^$ /%1 [L]

这将接受请求mysite.com/?d=48YSWD96并将 URI 更改为/48YSWD96. 本质上,无论查询字符串中的id是什么。

于 2011-12-10T05:12:10.970 回答