借助.htaccess重写引擎实现网站友好URL(Pretty URLs)求助
解决友好URL重写不生效的问题
你的规则不生效核心原因是规则顺序错误——原有的通用重写规则会优先匹配请求并终止后续规则执行,导致自定义的/da和/da/success规则从未被触发。另外,URL中的#scroll是客户端锚点,服务器无法接收这部分内容,不需要配置Rewrite规则,浏览器会自动处理锚点跳转。
修正后的完整.htaccess内容如下:
RewriteEngine on # 优先匹配自定义友好URL RewriteRule ^da$ da.php [NC,L] RewriteRule ^da/success$ success.php [NC,L] # 通用规则:处理其他无后缀的PHP请求 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php [NC,L] DirectoryIndex /index.php
关键说明:
- 把自定义规则放在最前面,确保特定URL先被匹配
[NC]标志忽略大小写(可根据需求移除),[L]标志匹配后停止后续规则处理- 通用规则仅处理未被自定义规则匹配的请求,确保其他PHP文件仍能通过无后缀URL访问
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

