可能重复:
Rewriting an arbitrary number of path segments to query parameters
我确信这已被多次询问,但我实际上并不知道我正在寻找什么,所以如果有人能够指出我会找到合适的地方那么棒。
基本上,我有一个页面“gallery.php”,目前从目录加载图像(第一部分是硬编码的),然后在你输入的网址中输入?a = art / paris,所以完整的URL是{ {1}}。
有没有办法可以修改apache和/或我的php代码,以便用户输入gallery.php?a=art/gallery
或/gallery/art/paris/
并得到相同的结果? (/ gallery /之后的任何内容都是我需要的一个参数。
答案 0 :(得分:3)
尝试将其放入.htaccess:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-F
RewriteRule ^gallery/([a-z-A-Z0-9\/]+)$ /gallery.php?a=$1 [NC]
答案 1 :(得分:1)
是的,有办法做到这一点。您需要在Apache服务器上安装并激活mod_rewrite
。然后创建一个.htaccess
文件,您可以在其中“告诉”Apache重写哪些URL并指定规则如何完成。所以基本上你需要这样的东西
RewriteEngine On
RewriteBase /
RewriteRule ^gallery/([^/\.]+)/([^/\.]+)$ gallery.php?a=$1/$2 [L,NC]
答案 2 :(得分:0)
这就是你要找的东西吗?
RewriteEngine on
RewriteRule ^gallery/([^/\.]+) gallery.php?a=$1 [L]
或者您可以更具体:
RewriteEngine on
RewriteRule ^gallery/([^/\.]+)/([^/\.]+) gallery.php?a=$1&b=$2 [L]