RewriteEngine On
Options FollowSymLinks
RewriteRule ^([-_a-zA-Z0-9]*)/([-_a-zA-Z0-9]*)/([-_a-zA-Z0-9]*)$ $1.php?id=$2&name=$3
我已经尝试将其置于SITE ROOT
和/Desktop/
。
我已经设置了一个只有domain.com/company.php
的测试页<h1>Hello World</h1>
。
转到:http://domain.com/company.php?company_id=74&name=DesignSourceLtd
&#34; Hello World&#34;显示器
转到:http://domain.com/company/74/DesignSourceLtd
显示404页面。
如何制作我的网址搜索引擎&amp;用户友好和所有前面的页面&#39; company
显示company.php
模板?
答案 0 :(得分:2)
解决方案1
你可以通过像这样创建.htaccess文件来处理index.php中的所有URI(所以你可以根据需要处理任何参数和其他好处):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond &{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,NC,L]
使用explode('/',$_SERVER['REQUEST_URI'])
访问参数,您可以包含company.php
解决方案2
您可以为company.php创建特定句柄
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond &{REQUEST_FILENAME} !-d
RewriteRule ^company\/([-_a-zA-Z0-9]*)\/([-_a-zA-Z0-9]*)$ company.php?company_id=$1&name=$2[QSA,NC,L]
解决方案2没有捕获第一个url参数,因为你的GET查询对于company.php是特定的
答案 1 :(得分:1)
您的选项应该是Options +FollowSymLinks
- 不确定这是否会影响结果。你的正斜杠也应该被转义。试试regex101.com进行测试。