2012-06-28 64 views
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 

我已经厌倦了加入一些重写规则,然后从一些谷歌正则表达式搜索,我一直在做,问题是我不知道的正则表达式是如何工作的,所以IM可能缺少一些斜线在错误的地方

,这是据我得到它:

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,即时通讯中的头得到一个404的CSS文档页面,这是所有的影响,我可以看到发生

任何帮助,将不胜感激

感谢

TB

回答

0

相反,使用PHP来获得重新探索uri并寻找你网址的最后部分。

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. 
} 
+0

使用该方法需要我建立多张不同的模板页面,在这种情况下,我只需要一个页面,从根据变量数据库中获取的东西,即时通讯寻求在未来与更多的情况下扩展此也许多达30或更多,所以想尽可能使用url重写,并继续使用一个模板文件 – user1488983

+0

坦率地说,这对我来说没有多大意义。使用url重写,您不仅需要每个页面的不同规则,还需要您决定使用的每个ssf_p_id密钥。如何运行解析代码一次,可能在您的数据库连接文件中,并设置一个全局变量,你可以看看更糟? –

+0

我最终选择了不同的路线并在个别页面中使用自定义字段,这是比第一个想法更好的解决方案,无论如何都要感谢您的帮助 – user1488983