Php htaccess将slug重写为seo url
我有一些类似的URL: www.mydomain/works/show.php?slug=作品标题 我希望通过以下方式将htaccess转换为seo URL: www.mydomain/works/title-of-the-work 在我的数据库中,我为每个工作条目创建了一个名为slug的字段。第一个URL工作正常 这是my.htaccess当前的外观(它位于我的根目录中): 在过去的24小时里,我阅读并尝试了很多类似的例子,但都没有成功。我确信我的服务器允许重写,因为我可以将非www URL重写为www URL。 希望有人能帮忙。谢谢使用:Php htaccess将slug重写为seo url,php,.htaccess,mod-rewrite,url-rewriting,Php,.htaccess,Mod Rewrite,Url Rewriting,我有一些类似的URL: www.mydomain/works/show.php?slug=作品标题 我希望通过以下方式将htaccess转换为seo URL: www.mydomain/works/title-of-the-work 在我的数据库中,我为每个工作条目创建了一个名为slug的字段。第一个URL工作正常 这是my.htaccess当前的外观(它位于我的根目录中): 在过去的24小时里,我阅读并尝试了很多类似的例子,但都没有成功。我确信我的服务器允许重写,因为我可以将非www URL重
RewriteEngine On
RewriteRule ^works/(.*)$ works/show.php?slug=$1 [L]
您还可以使用以下代码将.htaccess文件放入works文件夹:
RewriteEngine On
RewriteRule ^(.*)$ show.php?slug=$1 [L]
最后,这是我正在使用的htaccess(在works文件夹内): 谢谢你让我走上正轨。htaccess和我的php代码之间确实存在重定向循环,通过添加上述两个条件来解决这个问题,即如果文件物理上存在,则告诉服务器忽略重定向(在4种情况下为真:/works、/works/web design、/works/graphic design和works/apps)
我还对正则表达式做了一些修改,使URL可以使用或不使用斜杠。谢谢,但是Chrome说“这个网页有一个重定向循环”你有PHP中的重定向脚本吗?我曾尝试将.htaccess放在works文件夹中,但我得到了相同的错误(错误太多重定向)。在show.php内部,我有以下代码:if(!isset($\u GET[id])或!$archivos=$x->obtener\u registros('galeria',array('slug'=>$\u GET[id]){Header('Location:./”;exit();}对不起,代码是这样的:if(!isset($\u GET[slug])或!$archivos=$x->obtener\u registros galeria('galeria',array('seourl'=>$\u GET[slugros exit]){Header('Location:/);Location:/);exit();}重定向可能有问题?:)
RewriteEngine On
RewriteRule ^(.*)$ show.php?slug=$1 [L]
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([^/]+)/?$ show.php?slug=$1 [L]