使用一个 GET 变量创建 mod_rewrite 规则,而不考虑 url 级别
Creating mod_rewrite rule with one GET variable regardless of url-level
我正在尝试让这个场景起作用:
URL: www.domain.com/sub/level/details/123/
应处理为:www.domain.com/sub/level/?product=123
"sub" 和 "level" 可能会有所不同。它也可以是 /foo/doo/details/1/ 或更多子级别:/foo/bar/foo/bar/foo/details/123/
只有“/details/”后跟 integer/id 的部分没有改变。
我尝试并修改了旧版 TYPO3 安装中的 .htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^de/(.*)$ http://test.domain.com/ [R=301,L]
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]
RewriteRule ^uploads/.*$ - [L]
RewriteRule ^fileadmin/.*$ - [L]
RewriteRule ^typo3conf/.*$ - [L]
RewriteRule ^./details/([0-9]+)/$ ?product=
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* /index.php
非常感谢您的支持!
谢谢
您的正则表达式不正确,因为您匹配的是 /detail/
之前的单个字符。
替换此规则:
RewriteRule ^./details/([0-9]+)/$ ?product=
有了这个:
RewriteRule ^(.+)/details/(\d+)/?$ ?product= [L,NC,QSA]
我正在尝试让这个场景起作用:
URL: www.domain.com/sub/level/details/123/ 应处理为:www.domain.com/sub/level/?product=123
"sub" 和 "level" 可能会有所不同。它也可以是 /foo/doo/details/1/ 或更多子级别:/foo/bar/foo/bar/foo/details/123/
只有“/details/”后跟 integer/id 的部分没有改变。
我尝试并修改了旧版 TYPO3 安装中的 .htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^de/(.*)$ http://test.domain.com/ [R=301,L]
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]
RewriteRule ^uploads/.*$ - [L]
RewriteRule ^fileadmin/.*$ - [L]
RewriteRule ^typo3conf/.*$ - [L]
RewriteRule ^./details/([0-9]+)/$ ?product=
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* /index.php
非常感谢您的支持!
谢谢
您的正则表达式不正确,因为您匹配的是 /detail/
之前的单个字符。
替换此规则:
RewriteRule ^./details/([0-9]+)/$ ?product=
有了这个:
RewriteRule ^(.+)/details/(\d+)/?$ ?product= [L,NC,QSA]