Tuc*_*uco 17 php apache url-rewriting
对不起noob问题,无法理解我应该搜索什么.
我正在制作一个product.php?id=777
我喜欢的网页product/777
谢谢!
arm*_*rma 20
在您的Web根目录中创建.htaccess文件,然后在其中输入:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^product/([0-9]+)$ product.php?id=$1
Run Code Online (Sandbox Code Playgroud)
mar*_*rio 14
您也可以在.htaccess中使用以下内容,而不是使用mod_rewrite:
DefaultType application/x-httpd-php
Run Code Online (Sandbox Code Playgroud)
只需product在服务器上命名您的脚本(没有.php文件扩展名).
所以你可以直接调用它,并接收任何附加的字符串作为 $_SERVER["PATH_INFO"]
小智 5
如果您不想使用mod_rewrite(我没有),而其他答案似乎对您不起作用(他们对我而言则不是)。然后,您可以尝试在Apache 2.4+上运行。
更不安全的版本:使任何不带扩展名的文件都可以作为PHP文件运行(如果像我的实现那样,整个服务器只有一个文件,但是如果有人使用,则仍然允许您任意执行,这不是很糟糕。能够将文件写入该目录...然后再说一次,如果他们可以写入文件,则可以为其提供PHP扩展名,因此不确定是否确实扩大了您的访问范围。)
<FilesMatch "^[^.]+$">
ForceType application/x-httpd-php
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
将其放在目录的.htaccess文件中(假设已启用),或直接将其放在主机定义中。
如果您想使其更具体(也许更安全),则可以使用更具体的内容替换正则表达式:
<FilesMatch "^MySingleFileWithNoExension$">
ForceType application/x-httpd-php
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
然后只需重新启动Apache,您就可以开始了!
| 归档时间: |
|
| 查看次数: |
23911 次 |
| 最近记录: |