Vin*_*gen -3 apache .htaccess mod-rewrite
我的网站用户个人资料页面是
http://website.com/profile?name=test
Run Code Online (Sandbox Code Playgroud)
我正在使用 get 方法来获取变量名称, 我试图使上面的 url 被清理,例如,
http://website.com/test
Run Code Online (Sandbox Code Playgroud)
我的 .htaccess 内容
RewriteEngine On
RewriteBase /creatorsink/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L]
RewriteRule ^([a-z]+)/?$ profile.php?name=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)
有没有办法通过选择获取名称来做到这一点?
您可以使用mod_rewrite。例如,您的.htaccess文件应如下所示:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ profile.php?name=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)
下面对上面的内容做一个简单的解释:
RewriteEngine On打开引擎(如预期)。
RewriteCond %{REQUEST_FILENAME} !-f如果请求文件名存在并且是一个文件,则不会重写任何内容。
RewriteCond %{REQUEST_FILENAME} !-d如果请求文件名存在并且是一个目录,则不会重写任何内容。
RewriteRule ^([^/]+)/?$ profile.php?name=$1 [L,QSA]这是实际的重写规则。它采用域名后面的任何内容(除正斜杠之外的任何内容),并将其重写为profile.php,并将其作为name参数传递。| 归档时间: |
|
| 查看次数: |
2127 次 |
| 最近记录: |