Mod rewrite mod#u rewrite+&引用;第/123页/部分文字“-&燃气轮机&引用;showpage.php?索引=123&;标题=一些文本“;
正如标题所说,我如何使用.htaccess和mod_rewrite来改变这一点 “页面/123/一些文本” 到 “showpage.php?index=123&title=一些文本” 我从以下几点开始:Mod rewrite mod#u rewrite+&引用;第/123页/部分文字“-&燃气轮机&引用;showpage.php?索引=123&;标题=一些文本“;,mod-rewrite,Mod Rewrite,正如标题所说,我如何使用.htaccess和mod_rewrite来改变这一点 “页面/123/一些文本” 到 “showpage.php?index=123&title=一些文本” 我从以下几点开始: RewriteEngine On Options +FollowSymLinks RewriteBase / RewriteCond %{REQUEST_FILENAME} pages/(.*) RewriteRule (.*) /showpage.php?index=%1 [R] 这允许
RewriteEngine On
Options +FollowSymLinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} pages/(.*)
RewriteRule (.*) /showpage.php?index=%1 [R]
这允许我至少获取索引的参数,但除非我创建一个名为pages的空目录,否则此操作将失败。您只需在
重写规则本身中提取URL的相关部分即可:
RewriteEngine On
Options +FollowSymLinks
RewriteBase /
RewriteRule ^pages/([^/]+)/(.+)$ /showpage.php?index=$1&title=$2 [R]
请注意,R
标志会导致外部重定向,这是您想要的吗?如果没有,则应将其删除:
RewriteRule ^pages/([^/]+)/(.+)$ /showpage.php?index=$1&title=$2
或者,为了安全起见,如果确实需要外部重定向,最好使用L
标志,以便立即应用重定向(如果重定向是永久性的,则添加301状态):
此外,如果您希望标题是可选的,您也可以这样做:
RewriteCond &title=$3 ^(&title=.+)$
RewriteRule ^pages/([^/]+)(/(.+))?$ /showpage.php?index=$1%1
是的,我希望外部重定向而不是内部重定向,以便页面上的链接从浏览器的角度相对于/而不是/pages/。谢谢
RewriteCond &title=$3 ^(&title=.+)$
RewriteRule ^pages/([^/]+)(/(.+))?$ /showpage.php?index=$1%1