因为我的所有文件都是php,所以我用这个.htacess文件删除了php扩展名:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
所以我有这个网址:
http://example.com/live/kanal/some-title-1
http://example.com/live/kanal/some-title-2
http://example.com/live/kanal/some-title-13
http://example.com/live/kanal/some-title-45
http://example.com/live/kanal/2some-title-333
等等......
我想隐藏kanal / from url,以获取这样的网址:
http://example.com/live/some-title-1
http://example.com/live/some-title-2
http://example.com/live/some-title-13
http://example.com/live/some-title-45
http://example.com/live/2some-title-333
如何使用mod_rewrite实现此目的?
我使用在线生成器来执行重写规则,但没有人可以从URL中删除一段文本。我也在这个论坛上搜索过,我发现了一些关于mod重写目录的帖子,但是在我的.htacess代码中粘贴时遇到了问题。
答案 0 :(得分:2)
您可以在 /live/.htaccess
:
RewriteEngine On
RewriteBase /live/
RewriteRule ^(?!kanal/)(.*)$ kanal/$1 [L,NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
确保kanal/
子目录中没有.htaccess。