我有这样的网址:
http://site.ru/ontent/wefwefw/article.php?article=369-tayskaya-kuhnya-recept-s-foto
http://site.ru/ontent/wefwefw/article.php?article=32237-ogurci-recepti-na-zimu
http://site.ru/ontent/wefwefw/article.php?article=90-ogurci-na-zimu-recepti-po-koreyski
我想改写像:
http://site.ru/tayskaya-kuhnya-recept-s-foto.html
http://site.ru/ogurci-recepti-na-zimu.html
我试过像:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ ontent/wefwefw/$1 [L]
但是如何削减字符串不必要的部分?
答案 0 :(得分:0)
除非article.php能够单独从标题中获得正确的文章,否则您无法做到。 mod_rewrite擅长重写内容,但如果原始请求中没有文章内容,它就无法从空中传唤。你会有类似的东西:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)\.html$ ontent/wefwefw/article.php?article=$1 [L]
如果您要求http://site.ru/tayskaya-kuhnya-recept-s-foto.html
,则会加载http://site.ru/ontent/wefwefw/article.php?article=tayskaya-kuhnya-recept-s-foto
。然后,如果需要,你必须根据标题以其他方式获得id 369.
答案 1 :(得分:0)
这种情况下最好的是:
http://site.ru/369-tayskaya-kuhnya-recept-s-foto.html
重定向到
http://site.ru/ontent/wefwefw/article.php?article=369
使用:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(\d+)-[^/]*\.html$ ontent/wefwefw/article.php?article=$1 [L]