我有一些像这样的网址:
www.mydomain /工作/ show.php?蛞蝓=标题的最工作
我希望以这种方式将htaccess转换为seo网址:
www.mydomain /工作/标题的最工作
在我的数据库中,我为每个工作条目创建了一个名为slug的字段。第一个URL工作正常。
这就是我的.htaccess当前的样子(它放在我的根目录中):
RewriteEngine On
RewriteRule /works/(.*)$ /works/show.php?slug=$1
我在过去24小时内阅读并尝试了很多类似的例子但无济于事。我确定我的服务器允许重写,因为我可以例如将非www重写为www URL。 希望有人能提供帮助。感谢
答案 0 :(得分:3)
使用:
RewriteEngine On
RewriteRule ^works/(.*)$ works/show.php?slug=$1 [L]
您还可以使用以下代码将.htaccess文件放入工作文件夹中:
RewriteEngine On
RewriteRule ^(.*)$ show.php?slug=$1 [L]
答案 1 :(得分:2)
最后这是我正在使用的htaccess(在工作文件夹中):
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([^/]+)/?$ show.php?slug=$1 [L]
感谢userNOID让我走上正轨。确实在htaccess和我的php代码之间有一个重定向循环,通过添加上面的两个条件来解决,如果文件存在phisically存在,告诉服务器忽略重定向(在4种情况下是真的:/ works,/ works / web-design ,/ works / graphic-design and works / apps)
我还更改了正则表达式,以便能够使用URL而不使用斜杠。