加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 用于自定义平面链接的mod_rewrite apache卡住了

发布时间:2020-12-13 22:43:52 所属栏目:PHP教程 来源:网络整理
导读:我想为我的网站创建平面链接. .htaccess代码如下: IfModule mod_rewrite.c RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([0-9A-Za-z]+)?$/index.php?page=$1 [L] RewriteRule ^
我想为我的网站创建平面链接. .htaccess代码如下:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([0-9A-Za-z]+)?$/index.php?page=$1 [L]
    RewriteRule ^([0-9A-Za-z]+)/?$/index.php?page=$1 [L]
</IfModule>`

现在我的网站正在运行,可以通过print_r($_ GET)看到并获取所有值.

我的网站有这样的代码:< img src =“images / icons / image.png”/&gt ;,图片位于路径:/images/icons/up.png. 现在我可以访问我的网站:http://somedomain.com/home,一切正常.但是,当我提出:http://somedomain.com/home/时,它会被卡住. 图像为浏览器提供了这样的路径:http://somedomain.com/home/images/icons/image.png这是不可用的,它应该是:http://somedomain.com/images/icons/image巴纽. 怎么解决这个? 如果通过修改.htaccess有任何解决方案会有用,因为我想使用所有链接的相对路径而不是完整路径. 感谢Ben Clifford的帮助.根据他的说法,如果我将第二个规则重定向到第一个规则的格式而不是index.php.然后它应该工作.

解决方法

您可以更改第二个重写规则以将用户重定向到路径的非/版本,而不是index.php;然后,当加载重定向页面时,它将使用正确的基本路径命中第一个规则.

问题是图像名称替换了URL中最后一个/之后的所有内容:当您说somedomain.com/home时,图像文件名将附加到somedomain.com/但在第二种情况下,最终/位于主页之后.我想,使用重写规则来修剪这个/关闭会解决这个问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读