0

我看到过一些像这样的问题,但它们与我的需求略有不同,所以我将在这里概述它,因为我正在把头撞在墙上......

我使用 WordPress 的永久链接结构 %category%/%postname%/ 设置了永久链接,并构建了一些在 url 中使用 _GET 变量的自定义 wordpress 模板文件,因此 myurl.com/region-home/?ssf_p_id=7 使用 ssf_p_id 变量做一些事情,在这种情况下,区域主页的 id 为 56

我想要实现的是用一些文本 myurl.com/region-home/kenboody 替换变量

我想做的是某种特定于该变量的重写规则,这个变量只有 9 个左右的实例,所以我想做的是这样的:

if ?ssf_p_id=1 - url will read /region-home/something
if ?ssf_p_id=2 - url will read /region-home/different
if ?ssf_p_id=3 - url will read /region-home/each-time

等等

我已经厌倦了添加一些 RewriteRule,然后是我一直在做的一些谷歌搜索的正则表达式,问题是我不知道正则表达式是如何工作的,所以我可能在错误的地方错过了某种斜杠

这是据我所知:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^region-home/something$ index.php?post_id=56&ssf_p_id=1
RewriteRule ^region-home/different$ index.php?post_id=56&ssf_p_id=2
RewriteRule ^region-home/each-time$ index.php?post_id=56&ssf_p_id=3    
RewriteRule . /index.php [L]

这段代码对 url 完全没有影响,但它确实破坏了 css,我在页面标题中得到 css doc 的 404,这就是我能看到的所有效果

对此的任何帮助将不胜感激

谢谢

结核病

4

1 回答 1

0

相反,使用 php 获取请求 uri 并查找 url 的最后一部分。

if (stripos($_SERVER['REQUEST_URI'], '/something') !== false) {
    $ssf_p_id = 1; // obviously you wouldn't need to set this variable, just do what you need to do if it was set in the request.
}
于 2012-06-28T16:31:36.323 回答