因此,经过大量的测试-我已经开始找出我的问题,但仍然不能让重写工作。
这是我的htaccess文件现在的样子。
RewriteEngine On
RewriteRule ^schemdetail/id/(.*)$ schematicdetails?id=$1 [L,NC]
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://abfielder.com/$1 [R=301,L]
DirectoryIndex index.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule (.*) $1.php [L]
第一条规则是我有问题的
RewriteRule ^schemdetail/id/(.*)$ schematicdetails?id=$1 [L,NC]
我现在的理解是如果我在浏览器里输入这个网址
https://abfielder.com/schemdetail/id/158
我应该
https://abfielder.com/schematicdetails?id=158
这里的考验
https://htaccess.madewithlove.com/
告诉我我的规则没问题。
第二条和第三条也很有效。
然而当我尝试访问
https://abfielder.com/schemdetail/id/158
我基本上得到了页面未找到错误。
1条答案
按热度按时间w8biq8rn1#
好吧,我想我终于解决了这个问题,其他人谁是有问题的mod重写,他们希望有一个规则,以消除文件扩展名和其他重写一起工作的顺序问题。最后,如果你是在一个共享主机类型的事情,你可能还需要设置重写基地。这是我的htaccess文件现在看起来。
这允许我有没有.php扩展名的网址。
它还允许
要转换为模式详细信息的模式详细信息/id/100?id=100