Php 如何在url中隐藏页面名称而不是查询id

Php 如何在url中隐藏页面名称而不是查询id,php,.htaccess,url-rewriting,Php,.htaccess,Url Rewriting,我是新的网址重写,并通过了许多文章在网上,但无法找到我想要的。我有一个URL,看起来像http://example.com/page.php?id=12345我想让它看起来像http://example.com/12345。我怎样才能做到?如果有什么好文章可以学习,那也会很有帮助 注意:我还有其他页面要隐藏页面扩展名 当前这是我的.htaccess # Do not remove this line or mod_rewrite rules and search engine friendly

我是新的网址重写,并通过了许多文章在网上,但无法找到我想要的。我有一个URL,看起来像
http://example.com/page.php?id=12345
我想让它看起来像
http://example.com/12345
。我怎样才能做到?如果有什么好文章可以学习,那也会很有帮助

注意:我还有其他页面要隐藏页面扩展名

当前这是我的.htaccess

# Do not remove this line or mod_rewrite rules and search engine friendly URLs will stop working
RewriteBase /
ErrorDocument 404 http://www.flexo.pe.hu/404error

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule ^([\w-]+)$ download.php?id=$1 [QSA,L]


<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml

  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent
</IfModule>
#不要删除此行,否则mod#u重写规则和搜索引擎友好URL将停止工作
重写基/
错误文档404http://www.flexo.pe.hu/404error
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^([^\.]+)$$1.php[NC,L]
重写规则^([\w-]+)$download.php?id=$1[QSA,L]
#压缩HTML、CSS、JavaScript、文本、XML和字体
AddOutputFilterByType DEFLATE应用程序/javascript
AddOutputFilterByType DEFLATE应用程序/rss+xml
AddOutputFilterByType DEFLATE应用程序/vnd.ms-fontobject
AddOutputFilterByType放气应用程序/x-font
AddOutputFilterByType放气应用程序/x-font-opentype
AddOutputFilterByType放气应用程序/x-font-otf
AddOutputFilterByType放气应用程序/x-font-truetype
AddOutputFilterByType放气应用程序/x-font-ttf
AddOutputFilterByType DEFLATE应用程序/x-javascript
AddOutputFilterByType DEFLATE应用程序/xhtml+xml
AddOutputFilterByType DEFLATE应用程序/xml
AddOutputFilterByType泄气字体/opentype
AddOutputFilterByType DEFLATE字体/otf
AddOutputFilterByType DEFLATE字体/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType放气图像/x图标
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType泄气文本/普通
AddOutputFilterByType DEFLATE text/xml
#删除浏览器错误(仅适用于真正旧的浏览器)
浏览器匹配^Mozilla/4 gzip纯文本/html
浏览器匹配^Mozilla/4\.0[678]无gzip
BrowserMatch\bMSIE!没有gzip!仅限gzip文本/html
头附加用户代理

在根目录中这样尝试

RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([\w-]+)$ $1.php [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-]+)$ page.php?id=$1 [QSA,L]

好吧根据你的
.htaccess
你不能选择这个规则,因为它已经被用于删除
.php
你必须使用类似
id/12323
的东西来处理这种情况。实际上我正在创建一个类似bit.ly/tiny url/goo.gl的服务,所以当我缩短链接时,我需要类似的东西
example.com/12345
并隐藏页面扩展名。好的,请删除此规则
RewriteRule^([^\.]+)$$1.php[NC,L]
在您的
.htaccess
中,我的规则将在没有任何php扩展名的情况下工作,值将转到重复文件。是的,当我删除该行时,您的规则有效,但我还需要说明
.php
显示的其他页面。请尝试编辑并删除所有与重写相关的规则,然后再尝试!