假设我有这个网址: 的 http://mydomain.com/app/editor/?id=59500
我想让这个网址在浏览器地址栏中显示以下内容: 的 http://mydomain.com/app/editor/59500
...但是PHP页面(“http://mydomain.com/app/editor/index.php”)保持不变。换句话说,我仍然想让这个页面能够执行$ _GET ['id'];并返回“59500”。
我会在HTACCESS中使用正则表达式吗?关于最佳方法和示例的任何建议将不胜感激。
答案 0 :(得分:1)
你想为此使用.htaccess重写。只有当URL以数字结尾时才能进行重定向(以避免重定向index.php)。
\d+
获取所有数字,/?
将允许在ID之后有斜杠的URLS。
类似的东西:
<ifmodule mod_rewrite.c>
RewriteRule ^app/editor/(\d+)(/?)$ app/editor/index.php?id=$1
</ifmodule>
答案 1 :(得分:0)
尝试将这些规则添加到/app/editor/
目录中的htaccess文件:
RewriteEngine On
RewriteBase /app/editor/
RewriteCond %{THE_REQUEST} \ /+app/editor/(index\.php)?\?id=([0-9]+)
RewriteRule ^ %1? [L,R]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/?$ index\.php?id=$1 [L]