You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用.htaccess将index.php重写为SEO友好URL的技术问询

Apache Rewrite 规则实现友好URL方案

方案一:保留原index.php文件

你之前的规则方向搞反了——要先把用户访问的友好URL内部重写到实际的index.php,再加上一条规则把直接访问index.php的请求外部重定向到友好URL,这样就能保证地址栏始终显示你想要的名称。

把下面的规则放到subfolder目录下的.htaccess文件里(如果没有就新建一个):

# 把友好URL内部重写到index.php
RewriteRule ^more-readable-name-of-my-choosing$ index.php [L]

# 如果用户直接访问index.php,重定向到友好URL
RewriteCond %{THE_REQUEST} ^GET\ /folder/subfolder/index\.php
RewriteRule ^index\.php$ /folder/subfolder/more-readable-name-of-my-choosing [R=301,L]
  • 第一条规则:当用户访问/folder/subfolder/more-readable-name-of-my-choosing时,服务器内部悄悄加载index.php,地址栏不变。
  • 第二条规则:如果有人直接输入/folder/subfolder/index.php,浏览器会被重定向到友好URL,避免暴露真实文件名。

方案二:重命名index.php为目标文件名

如果把index.php改名为more-readable-name-of-my-choosing.php,需要让访问/folder/subfolder/的请求自动跳转到这个新文件,同时不影响another-file.php这类文件的正常访问。

同样在subfolder目录的.htaccess里加规则:

# 当访问目录根时,重定向到新命名的文件
RewriteCond %{REQUEST_URI} ^/folder/subfolder/$
RewriteRule ^$ /folder/subfolder/more-readable-name-of-my-choosing.php [R=301,L]

这条规则只会匹配访问/folder/subfolder/的请求,把它跳转到你重命名后的PHP文件,其他文件(比如another-file.php)的正常访问不受任何影响。

内容的提问来源于stack exchange,提问作者Erich Mosier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 07:22:09