我正在尝试使这种情况起作用:
URL:www.domain.com/sub/level/details/123/ 应处理为:www.domain.com/sub/level/?product=123
“子”和“级别”可以有所不同。它也可能是/ foo / doo / details / 1 /或什至具有更多子级别:/ foo / bar / foo / bar / foo / details / 123 /
只有部分:“ / details /”后跟整数/ id不变。
我尝试从较旧的TYPO3安装中修改了.htaccess文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^de/(.*)$ http://test.domain.com/$1 [R=301,L]
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]
RewriteRule ^uploads/.*$ - [L]
RewriteRule ^fileadmin/.*$ - [L]
RewriteRule ^typo3conf/.*$ - [L]
RewriteRule ^./details/([0-9]+)/$ ?product=$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* /index.php
非常感谢您的支持!
谢谢
答案 0 :(得分:0)
您的正则表达式不正确,因为您在/detail/
之前的开头匹配了一个字符。
替换此规则:
RewriteRule ^./details/([0-9]+)/$ ?product=$1
与此:
RewriteRule ^(.+)/details/(\d+)/?$ $1?product=$2 [L,NC,QSA]