Php 如何从一组URL重定向到另一组URL?

Php 如何从一组URL重定向到另一组URL?,php,.htaccess,yii,Php,.htaccess,Yii,我需要按以下方式进行重定向: 发件人: site.ru/blog/article\u slug 致: site.ru/news/article\u slug 我试图使用它,但它不能正常工作(显示404错误页面): 完整htaccess文件(mod_重写部分): 您是否考虑过使用HTML或Javascript进行此操作?对于HTML,您只需要包含meta标记:试试这个规则 RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME}

我需要按以下方式进行重定向:

发件人:
site.ru/blog/article\u slug
致:
site.ru/news/article\u slug

我试图使用它,但它不能正常工作(显示404错误页面):

完整htaccess文件(mod_重写部分):


您是否考虑过使用HTML或Javascript进行此操作?对于HTML,您只需要包含meta标记:
试试这个规则

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME}  !-f
RewriteCond %{REQUEST_FILENAME}  !-d
RewriteRule ^blog/(.*)$ news/$1 [R=301,L]

RewriteBase
上,请将实际目录放在应用规则的位置,如果它是根目录,请按照上面的规则保留它。

不,我不能使用它。它应该由htaccess使用mod_rewrite生成。您的变体可用于静态站点。也许我误解了你…请描述一下你从你使用的规则中得到了什么行为,以及它与你期望的有什么不同。“无法正常工作”不够具体。它显示404错误页面我尝试了你的建议,但现在它将我重定向到:site.com/var/www/html/public/news/Skype-for-Business。它粘贴您提供的完整文件系统路径。上面的问题主体我发布了完整的.htaccess。那么,我到底应该在哪里编写您的构造呢?.htaccess文件位于“var/www/html/public”中,请尝试将索引文件放置在public中,它将成为目录的根目录。
RewriteEngine on

RedirectMatch 403 /\..*$

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME}  !-f
RewriteCond %{REQUEST_FILENAME}  !-d
RewriteRule ^blog/(.*)$ news/$1 [R=301,L]