繁体   English   中英

从网址中删除目录名称

[英]Remove directory name from url

因为我所有的文件都是php,所以我已使用.htacess文件删除了php扩展名:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

所以我有这个URL:

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

等...

我想从url隐藏kanal /以获得这样的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 rewrite目录的帖子,但是粘贴.htacess代码时遇到了问题。

您可以在/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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM