哦,.htaccess伤了我的头。
所以,我有一个网页有一个漂亮的urlfoo.com/radio/jobs,虽然实际上住在foo.com/content/directory_jobs.php/?section=radio
我用一个.htaccess行来实现这个…
RewriteRule ^(radio|tv|magazines|newspapers)/jobs$ /content/directory_jobs.php?section=$1
这个页面有一个可选的页面=查询string – 所以你可以去foo.com/radio/jobs?page=2看到第二页。
但是,上面的.htaccess行不会添加这个页面variables:其结果是底层PHP脚本没有看到“页面”variables。
我可以调整上面的.htaccess行以确保我传递一个“页”variables,如果它存在? 还是我必须有这样的每个页面两个.htaccess行?
只需添加QSA(查询string附加)标志
RewriteRule ^(radio|tv|magazines|newspapers)/jobs$ /content/directory_jobs.php?section=$1 [QSA]
例;
用QSA旗帜/电台/作业 – > /content/directory_jobs.php?section=jobs
/ radio / jobs?foo = bar – > /content/directory_jobs.php?section=jobs&foo=bar
/ radio / jobs?foo = bar&boo = bosh – > /content/directory_jobs.php?section=jobs&foo=bar&boo=bosh
mod_rewrite会弄清楚是否需要添加一个? 或重写规则为$
RewriteRule ^([az] +)$ /$1.php [QSA]
/ something?foo = bar – > /something.php?foo=bar