我正在寻找创建一个 URL Shortener,尽管我遇到了一个我无法思考的问题。我需要用户能够通过使用斜杠(/
)而不是?=
例如的获取请求找到他的 ID,
而不是使用oli.pw?id=100
我需要它是oli.pw/100
.
我研究了 URL 重写,但老实说,我不知道如何通过所有 get 请求来实现这一点。
如果这还不够详细,请在下面发表评论。谢谢!
我正在寻找创建一个 URL Shortener,尽管我遇到了一个我无法思考的问题。我需要用户能够通过使用斜杠(/
)而不是?=
例如的获取请求找到他的 ID,
而不是使用oli.pw?id=100
我需要它是oli.pw/100
.
我研究了 URL 重写,但老实说,我不知道如何通过所有 get 请求来实现这一点。
如果这还不够详细,请在下面发表评论。谢谢!
你的意思是?
RewriteEngine On
RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /(index\.php)?\?id=([0-9]+)([^\ ]*)
RewriteRule ^ /%3?%4 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/?$ /?id=$1 [L,QSA]
这是一些基本 url 重写的简短示例,
RewriteEngine on
RewriteRule ^([0-9]+)$ index.php?id=$1 [L,QSA]
您需要创建一个.htaccess
文件并在其中配置您的重写规则。
您将需要类似的东西:
RewriteEngine on
RewriteRule ^([0-9]+)/$ ?id=$1
你应该阅读更多关于mod_rewrite
这里。