我环顾四周,但坦率地说,我不确定我需要使用哪些术语来搜索以获得更精确的结果。哎呀,我在 url vs. uri vs. page vs. link 以及每个是什么和不是什么方面都在苦苦挣扎。并且 MOD_REWRITE 指南似乎是为精通 Apache 或 Unix 或其他任何东西的人编写的,尤其是当他们似乎都没有解释或解析示例以了解每个“编程”字符的作用或含义时。在这里和整个谷歌,我似乎没有得到任何我想要的搜索结果的前 25 个结果,我尝试过涵盖...的概念。
好吧,我要做的是替换依赖于三个变量的 URL 的通配符字符串,同时保留其他位。这可以使用 mod_rewrite 吗?
例如
三个请求的 URL 是:
http://mydomain.com/WORDS-AND-DASHES-c-NUMBERS_WITH_UNDERSCORES
http://mydomain.com/WORDS-AND-DASHES-m-NUMBERS_WITH_UNDERSCORES
http://mydomain.com/WORDS-AND-DASHES-p-NUMBERS_WITH_UNDERSCORES
重写后的 URL 分别应该是:
http://mydomain.com/index.php?index&categories_id=NUMBERS_WITH_UNDERSCORES
http://mydomain.com/index.php?main_page=index&mfrs_id=NUMBERS_WITH_UNDERSCORES
http://mydomain.com/index.php?main_page=index&products_id=NUMBERS_WITH_UNDERSCORES
WORDS-AND-DASHES 的内容和长度因页面而异,NUMBERS_WITH_UNDERSCORES 也是如此。唯一的常量是域和三个链接类型标识符,-c-、-n- 和 -p-。WORDS-AND-DASHES 被替换为取决于链接类型的变量,该变量被消除,并且 NUMBERS_WITH_UNDERSCORES 保留在新 URL 中。
IOW 如果 url 包含“-c-”,那么我想用“index.php?index&categories_id=”替换域和“-c-”之间的所有内容,删除“-c-”部分并保留 NUMBERS_WITH_UNDERSCORES。-c-、-m- 或 -p- 后面也可能只有一个数字。
如果我知道 PHP 这可能是可能的,但我不知道,我希望 mod_write 像我认为的那样强大。如果每个变量需要多个规则,我也可以。做3次工作还是比10000+次好。
FWIW,在升级过程中发现旧的 URL 重写模块停止运行,所以我正在尝试快速重建搜索引擎的 .htaccess 和 sitemap.xml 以及它们各自结果中的所有死链接。
......那么我可能又要在 Mangled Metaphorbial Creek 上狂吠了。
感谢您分享的任何知识、前进方向和/或建议。
-公元前