【问题标题】:Hide extension as well as replace Question mark by slash in .htaccess在 .htaccess 中隐藏扩展名并用斜杠替换问号
【发布时间】:2012-12-18 02:24:02
【问题描述】:

我有一个问题,即假设 url 是 www.example.com/view.php?id=1 但我希望 url 像 www.example.com/view/id/1 一样,另外我得到 htaccess隐藏扩展名或替换“?”通过斜线但两者都不起作用请任何人帮助我。我希望 .htaccess 对两者都有效(扩展隐藏和替换斜线)并请使其一般是 htaccess 适用于任何页面而不是任何特定页面。提前致谢

【问题讨论】:

  • 在本网站上记录了无数的解决方案,或者在谷歌上可以找到。有什么特殊原因为什么这些都不能解决您的问题?
  • 另外_请_发布您当前的尝试。否则我们无法解决您面临的问题。

标签: php .htaccess


【解决方案1】:

通过httpd.conf启用mod_rewrite和.htaccess,然后把这段代码放到你.htaccessDOCUMENT_ROOT目录下:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

# external redirect from /view.php?id=1 to /view/id/1
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+([^.]+)\.php\?([^=]+)=([^\s&]+) [NC]
RewriteRule ^ /%1/%2/%3? [L,R=301]

# internal forward from /view/id/1 to /view.php?id=1
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /$1.php?$2=$3 [L,QSA]

【讨论】:

  • AnubHava,这是我见过的针对这个特定主题的最好的无故障、复制粘贴、没有其他问题的解决方案。感谢您分享如此优雅、实用且简单的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-28
  • 2021-04-27
  • 2017-05-13
  • 1970-01-01
  • 2011-03-02
相关资源
最近更新 更多