我有几个问题。
例如,在我的网站上,我有一个这样的链接:
localhost/ecom/index.php?页数=1&title=quem somos
索引文件检查id的GET['pages']
,并基于db的信息分配两个变量:$static_id
和$static_title
。
如何将.htaccess配置为“转换”此链接:
本地主机/ecom/quem somos
当.htaccess被写入时,我的Href应该是这样的:
本地主机/ecom/quem somos
或者,应该是这样的:
localhost/ecom/index.php?页数=1&title=quem somos
而且这个网址被转换成搜索引擎优化友好的网址?
抱歉,如果这里有一些愚蠢的问题,我已经读了一些博客文章,但仍然无法理解。
最佳答案
把这个放到你的/ecom/dir
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /ecom/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteCond %{REQUEST_FILENAME} !\.(css|js|jpeg|jpg|gif|png|bmp)$
RewriteRule ^([^\/]+)\/([^\/]+)\/?$ index.php?title=$1&pages=$2 [L,B,QSA]
</IfModule>
根据你的服务配置,可能不需要rewritebase,所以如果有删除的话。
或者把这个变量放到根目录中
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteCond %{REQUEST_FILENAME} !\.(css|js|jpeg|jpg|gif|png|bmp)$
RewriteRule ^ecom\/([^\/]+)\/([^\/]+)\/?$ /ecom/index.php?title=$1&pages=$2 [L,B,QSA]
</IfModule>
我更喜欢第一个。
你的网址必须是http://localhost/ecom/some-title/1/
注意/1/最后,它需要传递pages变量