在 PHP 中更改 URL 格式
Changing URL format in PHP
我想更改此格式
http://mysite.tld/go.php?id=20
到
http://mysite.tld/20
如何使用 PHP 实现此目的?
您希望您的服务器处理此问题,而不是 PHP。
如果您的服务器支持 .htaccess 文件,您可以创建它并添加:
RewriteEngine On
RewriteRule ^([^/]*)$ /go.php?id= [L]
这将允许您访问
example.com/20
但被调用的页面将是 go.php?id=20
在你的 Root/.htaccess 文件中试试这个:
RewriteEngine On
RewriteCond %{THE_REQUEST} /go\.php\?id=([^\s]+) [NC]
RewriteRule ^ /%1? [NC,R,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ go.php?id= [QSA,L,NC]
如之前的答案所述,通常的方法是通过 .htaccess 文件使用 Apache's Rewrite Engine。
如果您正在寻找 PHP 特定的解决方案:
我想更改此格式
http://mysite.tld/go.php?id=20
到
http://mysite.tld/20
如何使用 PHP 实现此目的?
您希望您的服务器处理此问题,而不是 PHP。
如果您的服务器支持 .htaccess 文件,您可以创建它并添加:
RewriteEngine On
RewriteRule ^([^/]*)$ /go.php?id= [L]
这将允许您访问
example.com/20
但被调用的页面将是 go.php?id=20
在你的 Root/.htaccess 文件中试试这个:
RewriteEngine On
RewriteCond %{THE_REQUEST} /go\.php\?id=([^\s]+) [NC]
RewriteRule ^ /%1? [NC,R,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ go.php?id= [QSA,L,NC]
如之前的答案所述,通常的方法是通过 .htaccess 文件使用 Apache's Rewrite Engine。